最小化規(guī)則管理系統(tǒng)中的規(guī)則集的制作方法
【專利摘要】本發(fā)明涉及一種用于最小化規(guī)則集的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,包括:構(gòu)建規(guī)則集應(yīng)用圖,該規(guī)則集應(yīng)用圖描述包括動(dòng)作和情形的規(guī)則集,其中每個(gè)規(guī)則定義針對(duì)一個(gè)或多個(gè)情形的動(dòng)作;針對(duì)每個(gè)規(guī)則構(gòu)建規(guī)則違反圖,該規(guī)則違反圖描述沒(méi)有為規(guī)則定義的動(dòng)作和情形;以及通過(guò)探測(cè)規(guī)則集中足夠用于再生成原始規(guī)則集的行為的候選子集,來(lái)確定規(guī)則子集,該規(guī)則子集包括縮減數(shù)量的規(guī)則,具有與規(guī)則集應(yīng)用圖相同的動(dòng)作和情形的集合。
【專利說(shuō)明】最小化規(guī)則管理系統(tǒng)中的規(guī)則集
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般涉及一個(gè)規(guī)則管理系統(tǒng),并且特別涉及一種用于最小化規(guī)則管理系統(tǒng)中的規(guī)則集的方法和裝置。
【背景技術(shù)】
[0002]商業(yè)規(guī)則管理(BRM)技術(shù)涉及在諸如貸款批準(zhǔn)、保險(xiǎn)索賠處理或消費(fèi)者忠誠(chéng)度計(jì)劃的商業(yè)問(wèn)題中的決策自動(dòng)化領(lǐng)域。商業(yè)規(guī)則管理系統(tǒng)(BRMS)被實(shí)施用于與規(guī)則項(xiàng)目一起運(yùn)作。BRMS允許按照受控的仿自然(natural-like)語(yǔ)言的規(guī)則編輯,這使得容易在生成規(guī)則時(shí)不具有特定知識(shí)。規(guī)則能夠以不同的版本被保持在規(guī)則存儲(chǔ)庫(kù)中。BRMS進(jìn)一步允許由規(guī)則引擎執(zhí)行規(guī)則,該規(guī)則引擎還執(zhí)行用于檢測(cè)沖突規(guī)則、冗余規(guī)則以及缺失規(guī)則的規(guī)則分析。另一個(gè)特征是借助測(cè)試和仿真的規(guī)則驗(yàn)證。
[0003]商業(yè)規(guī)則是表示決策策略的便利方式,該決策策略根據(jù)給定情形進(jìn)行決策。情形通常包括特征的組合,并且決策可以是基本選擇的組合。通過(guò)對(duì)給定的情形應(yīng)用動(dòng)作,商業(yè)規(guī)則做出決策。商業(yè)規(guī)則不能處理所有情形,而只能處理滿足條件的情形。因此,商業(yè)規(guī)則包括條件和動(dòng)作,該條件通常為測(cè)試的組合,該動(dòng)作可以包括基本步驟的序列。由于商業(yè)規(guī)則僅處理某些情形,其僅定義整個(gè)決策過(guò)程的一部分。對(duì)于剩余的情形需要進(jìn)一步的商業(yè)規(guī)則來(lái)做出決策。如果給定的商業(yè)規(guī)則針對(duì)每個(gè)相關(guān)情形做出決策,那么這樣的規(guī)則集合是完整的。否則,這些規(guī)則將不會(huì)處理每個(gè)情形,并且需要添加進(jìn)一步的規(guī)則以使得規(guī)則完難
iF.0
[0004]用于諸如保險(xiǎn)索賠處理、貸款批準(zhǔn)或針對(duì)購(gòu)物車(chē)的折扣計(jì)算的問(wèn)題的決策自動(dòng)化包括以一致且可預(yù)測(cè)的方式針對(duì)大量情形進(jìn)行決策。通過(guò)包括商業(yè)規(guī)則的商業(yè)策略實(shí)現(xiàn)策略自動(dòng)化,該商業(yè)規(guī)則將每個(gè)可能的情形映射到單個(gè)決策。
[0005]商業(yè)規(guī)則提供表示復(fù)雜策略的便利方式,這些復(fù)雜策略針對(duì)分散且復(fù)雜形式的情形做出決策。每個(gè)規(guī)則表示該策略的獨(dú)立部分,并且針對(duì)該情形的子集做出決策。商業(yè)規(guī)則包括描述該規(guī)則處理的情形的條件以及包括在針對(duì)情形做出決策中的動(dòng)作。由于情形可能是復(fù)雜的并且包括不同的對(duì)象(諸如購(gòu)物車(chē)中的不同物品),商業(yè)規(guī)則可以僅處理該情形中所選擇對(duì)象,并且因此具有描述其可以處理的對(duì)象類(lèi)型的發(fā)內(nèi)。復(fù)雜的策略因此能夠以簡(jiǎn)單的方式由商業(yè)規(guī)則集來(lái)表示。
[0006]由于存在表示規(guī)則方面的策略的多種方式,附加的標(biāo)準(zhǔn)是必要的以確定用于決策自動(dòng)化的良好呈現(xiàn)。首先,保持該呈現(xiàn)可管理并且盡可能小是重要的。通過(guò)使規(guī)則盡可能通用通過(guò)避免冗余的規(guī)則,能夠縮減規(guī)則的數(shù)量。其次,不同的規(guī)則應(yīng)當(dāng)彼此獨(dú)立,以便于促進(jìn)歸因于商業(yè)策略的改變的規(guī)則修改。如果商業(yè)規(guī)則針對(duì)一些情形而變化,那么商業(yè)用戶需要把處理該情形的所有規(guī)則適應(yīng)到新的策略。如果規(guī)則重疊,那么策略改變可能要求若干規(guī)則的修改。如果該重疊歸因于規(guī)則是盡可能通用的事實(shí),規(guī)則編輯中的這一開(kāi)支是可接受的。然而,如果存在冗余的規(guī)則,這是不可接受的,冗余的規(guī)則可以被移除而不改變規(guī)則集的決策行為。[0007]商業(yè)規(guī)則的可管理和靈活呈現(xiàn)試圖禁止冗余的規(guī)則。然而,如果通過(guò)規(guī)則學(xué)習(xí)以及數(shù)據(jù)挖掘工具自動(dòng)生成規(guī)則,或者根據(jù)諸如多個(gè)規(guī)則作者的不同資源來(lái)組裝規(guī)則,那么冗余的規(guī)則是難以避免的。由于規(guī)則條件的組合性質(zhì),即使由單個(gè)作者來(lái)撰寫(xiě)規(guī)則,規(guī)則之間也可能存在無(wú)法預(yù)料的交互,這導(dǎo)致冗余的規(guī)則。由于這些原因,現(xiàn)有的商業(yè)規(guī)則管理和規(guī)則學(xué)習(xí)系統(tǒng)通過(guò)專用規(guī)則分析模塊來(lái)尋求消除冗余。
[0008]用于冗余消除的現(xiàn)有方法的不同在于:它們能夠檢測(cè)的冗余的形式以及它們能夠處理的規(guī)則的形式。這些方法中的大部分考慮針對(duì)僅包括有限數(shù)量的情形的商業(yè)問(wèn)題而做出決策的簡(jiǎn)單規(guī)則形式。那些情形以有限域上的有限數(shù)量的屬性為特征。由于那些情形的數(shù)量是有限的,冗余分析器能夠探測(cè)每個(gè)規(guī)則所處理的情形的集合。隨后,其能夠比較做出相同決策的這些規(guī)則的所處理情形的那些集合。一些冗余分析器將這一比較限制到規(guī)則對(duì),并且通過(guò)一些其他規(guī)則來(lái)確定規(guī)則是否是冗余的(參見(jiàn)美國(guó)專利公開(kāi)5943667以及美國(guó)專利公開(kāi)7152075)。出于這一目的,這樣的分析器檢查所檢驗(yàn)的規(guī)則的所有處理的情形是否也由做出相同決策的某個(gè)其他規(guī)則所處理。如果是,該分析器通過(guò)聲明其他規(guī)則使得第一規(guī)則冗余而通知局部冗余。通常,這樣的局部冗余分析器區(qū)分嚴(yán)格和簡(jiǎn)單冗余。如果兩個(gè)規(guī)則是相同的,也就是說(shuō),做出相同決策并完全處理相同情形集合,兩個(gè)規(guī)則之間存在簡(jiǎn)單冗余。局部分析器可以移除兩個(gè)相同規(guī)則中的任何一個(gè),以消除簡(jiǎn)單冗余。如果第二規(guī)則使得第一規(guī)則冗余,但是第一規(guī)則不使得第二規(guī)則冗余,在兩個(gè)規(guī)則之間存在嚴(yán)格冗余。為了消除嚴(yán)格冗余,局部冗余分析器將會(huì)消除該冗余規(guī)則而不是另一個(gè)規(guī)則。由于局部冗余分析器不知曉全局冗余這一事實(shí),這種行為是合理的。
[0009]全局冗余分析器(參見(jiàn)美國(guó)專利申請(qǐng)2006/027760IAl以及美國(guó)專利公開(kāi)7337230)尋求全局冗余的規(guī)則,也就是說(shuō),能夠在不改變?cè)撘?guī)則集的決策行為的情況下從該規(guī)則集中被移除的規(guī)則。如果該規(guī)則處理的每個(gè)情形被規(guī)則集中做出相同決策的某個(gè)其他規(guī)則處理為所檢驗(yàn)的規(guī)則,全局冗余分析器檢測(cè)冗余的規(guī)則。局部冗余規(guī)則也是全局冗余的,但是相反的情形不是必然成立的。例如,如果規(guī)則是最通用的條件,那么不存在局部冗余規(guī)則,但是仍可能在不改變規(guī)則集的行為的情況下移除一些規(guī)則。甚至可能會(huì)發(fā)生:規(guī)則集中的所有規(guī)則是全局冗余的,并且移除這些規(guī)則的一些規(guī)則修復(fù)了所有冗余。已有的冗余消除方法集中于尋找冗余規(guī)則的問(wèn)題上,而并非解決整個(gè)問(wèn)題。全部冗余消除的問(wèn)題在于找到商業(yè)規(guī)則的無(wú)冗余子集,該無(wú)冗余子集將相同的決策策略表示為初始規(guī)則項(xiàng)目。該問(wèn)題可以考慮規(guī)則之間的偏好,該偏好指定應(yīng)當(dāng)保留哪些規(guī)則以及當(dāng)存在不同的消除冗余方式時(shí)應(yīng)當(dāng)消除哪些規(guī)則。此外,現(xiàn)有的用于全局冗余消除的方法受限于有限域上的屬性。例如,美國(guó)專利公開(kāi)7337230通過(guò)計(jì)算由規(guī)則集和一個(gè)規(guī)則二者處理的情形的數(shù)量來(lái)檢查該規(guī)則集是否使得該規(guī)則冗余。如果該數(shù)量等于由該規(guī)則所處理的情形的數(shù)量,那么該規(guī)則是冗余的。如果其嚴(yán)格小于由該規(guī)則所處理的情形的數(shù)量,那么該規(guī)則不是冗余的。然而,如果該規(guī)則正處理由于具有無(wú)限域(諸如整數(shù)域)的屬性而導(dǎo)致的無(wú)限數(shù)量的情形,這一論證不再有效,諸如:
[0010].rl:如果消費(fèi)者的價(jià)值為至少1000,則設(shè)置消費(fèi)者的類(lèi)別為“金”;
[0011].r2:如果消費(fèi)者的年齡為至少40,則設(shè)置消費(fèi)者的類(lèi)別為“金”;
[0012]規(guī)則r2不會(huì)使得規(guī)則rl冗余。規(guī)則rl處理具有至少1000的價(jià)值以及任意年齡的消費(fèi)者的所有情形。如果在價(jià)值屬性上不加以人為限制,那么存在無(wú)限數(shù)量這樣的情形?,F(xiàn)在規(guī)則rl和r2 二者均處理具有至少1000的價(jià)值及至少40的年齡的消費(fèi)者的所有情形。再次存在無(wú)限數(shù)量這樣的情形。根據(jù)美國(guó)專利公開(kāi)7337230的方法,規(guī)則r2因而導(dǎo)致規(guī)則rl冗余,這是錯(cuò)誤的。
[0013]其它方法將局部冗余分析擴(kuò)展至任意形式的商業(yè)規(guī)則,諸如IBM WebSphere IlogJRules BRMS7.0和7.1的冗余分析器。這些方法在針對(duì)如下情形而做出決策的規(guī)則之中找到冗余,這些情形以無(wú)限數(shù)量的對(duì)象并且因此以無(wú)限數(shù)量的屬性為特征。此外,該屬性可以具有無(wú)限域。那些方法以約束模型的形式使用規(guī)則所處理的情形的隱含表示,并且使用邏輯問(wèn)題解決方法進(jìn)行兩個(gè)規(guī)則的處理情形的成對(duì)比較。盡管這些方法處理任意規(guī)則,它們只檢測(cè)局部冗余規(guī)則,而不足以確定規(guī)則集的無(wú)冗余策略保留子集。IBM和WebSphere是國(guó)際商業(yè)機(jī)器公司在美國(guó)和/或其他國(guó)家的商標(biāo)。
[0014]也有其他方法使用不同的冗余思路。美國(guó)專利申請(qǐng)2002/0049720的方法確定兩個(gè)規(guī)則所處理的情形的集合之中的重疊,并且通過(guò)使一個(gè)規(guī)則更特定來(lái)消除那些重疊,從而有利于在通用性上免于重疊。
[0015]美國(guó)專利申請(qǐng)2005/0278432 (“Rule Set Verification”)描述了一種用于檢測(cè)和修復(fù)針對(duì)網(wǎng)絡(luò)流管理增強(qiáng)的規(guī)則之間的沖突的系統(tǒng)和方法。這些規(guī)則被應(yīng)用于給定數(shù)據(jù)分組,并且在那些分組上執(zhí)行若干動(dòng)作,諸如由防火墻進(jìn)行分組過(guò)濾或進(jìn)行負(fù)載均衡。這些規(guī)則檢查數(shù)據(jù)分組(“字段”)的給定屬性是否匹配給定的比特串。該比特串可以包括設(shè)置比特、消除比特以及不關(guān)心比特。因而該規(guī)則能夠測(cè)試諸如IP地址的固定長(zhǎng)度的字符串是否匹配給定的模式,但是不能夠測(cè)試具有無(wú)限域的屬性。該方法比較每對(duì)單個(gè)規(guī)則,并且確定它們是否處理不相交的、重疊的或相同集合的數(shù)據(jù)分組,或者這些集合之一是否是另一集合的子集。如果這些集合是重疊的,該方法根據(jù)優(yōu)先級(jí)策略修改沖突。該方法能夠合并兩個(gè)規(guī)則、修改這些規(guī)則中的一個(gè)規(guī)則的條件或者將較高優(yōu)先級(jí)規(guī)則的動(dòng)作包括到較低優(yōu)先級(jí)規(guī)則的動(dòng)作列表中。如果在這一過(guò)程中較低優(yōu)先級(jí)規(guī)則變得冗余,該方法將其刪除。
[0016]因而,假設(shè)規(guī)則的條件被限制為匹配固定長(zhǎng)度的字符串上的操作,該方法能夠消除被其他單個(gè)規(guī)則導(dǎo)致冗余的規(guī)則。該方式不能找到包含具有無(wú)限域的屬性的規(guī)則之間的冗余。例如,該方法不能夠處理以下類(lèi)型的規(guī)則并且檢測(cè)到規(guī)則rl使得規(guī)則r2冗余:
[0017].rl:如果消費(fèi)者的價(jià)值是至少1000,則設(shè)置消費(fèi)者的類(lèi)別為“金”;
[0018].r2:如果消費(fèi)者的價(jià)值為至少2000,則設(shè)置消費(fèi)者的類(lèi)別為“金”;
[0019]更多一般規(guī)則還區(qū)別在于它們的范圍,也就是說(shuō),不同類(lèi)型的匹配對(duì)象,這給冗余分析造成特殊的困難。本申請(qǐng)不解決那些困難。最后,美國(guó)申請(qǐng)2005/0278431的方法不能夠檢測(cè)被整個(gè)規(guī)則集導(dǎo)致冗余的規(guī)則。
[0020]美國(guó)專利公開(kāi)7792775 (“Filtering Rule Analysis Method And System”)公開(kāi)了一種用于分析分組過(guò)濾過(guò)程的規(guī)則的方法。該方法促進(jìn)對(duì)過(guò)濾規(guī)則的理解、優(yōu)化規(guī)則集、增加執(zhí)行速度以及檢測(cè)兩個(gè)過(guò)濾過(guò)程是否相同。由于每個(gè)分組包含有限數(shù)量的價(jià)值屬性,整個(gè)分組集可以以笛卡爾(Cartesian)空間為特征。每個(gè)過(guò)濾規(guī)則處理該空間中的矩形區(qū)域內(nèi)的分組。其假設(shè)規(guī)則條件包括間隔關(guān)系測(cè)試,并且其是與美國(guó)專利公開(kāi)7337230在規(guī)則上施加的限制相同的限制。
[0021 ] 美國(guó)專利公開(kāi)7792775公開(kāi)了一種方法,其將笛卡爾空間劃分為最小區(qū)域的集合,并且每個(gè)最小區(qū)域的特征在于開(kāi)始和結(jié)束點(diǎn)。這一方法計(jì)算規(guī)則之間的關(guān)系以及這些規(guī)則所處理的最小區(qū)域。為此,其以給定的優(yōu)選順序來(lái)處理規(guī)則,并且用涵蓋它們的規(guī)則來(lái)對(duì)區(qū)域進(jìn)行標(biāo)記。如果規(guī)則僅涵蓋已經(jīng)被較高優(yōu)先級(jí)規(guī)則涵蓋的區(qū)域,那么該方法指出該規(guī)則是隱藏的,并且消除它。雖然該方法因此能夠計(jì)算規(guī)則的無(wú)冗余子集同時(shí)保留該規(guī)則集的決策行為,但是它有嚴(yán)重的缺陷。首先,其假定所有規(guī)則條件是間隔關(guān)系測(cè)試。其不處理包括算數(shù)表達(dá)式的更復(fù)雜的測(cè)試以及包括具有無(wú)限域的屬性的任意比較。其次,該方法假定所有規(guī)則匹配同一類(lèi)型的對(duì)象,即數(shù)據(jù)分組,并且不能檢測(cè)匹配不同對(duì)象的規(guī)則之間的關(guān)系。例如,匹配客戶對(duì)象的規(guī)則可以使得匹配客戶對(duì)象和購(gòu)物車(chē)的規(guī)則冗余。該方法不提供用于處理匹配不同對(duì)象的規(guī)則的任何機(jī)制。最后,只要規(guī)則包括成百上千的屬性,該方法甚至被禁止用于過(guò)濾這些規(guī)則。例如,如果已經(jīng)存在四十個(gè)屬性,并且每個(gè)屬性出現(xiàn)在一些規(guī)則的測(cè)試中,那么這將已經(jīng)生成萬(wàn)億個(gè)最小區(qū)域。這一空間中的劇增是擴(kuò)展由規(guī)則覆蓋的整個(gè)空間的代價(jià)。
[0022]以上示例示出了現(xiàn)有的方法和系統(tǒng),用于冗余分析或者在它們能夠找到的冗余形式上、或在它們能夠分析的規(guī)則形式上強(qiáng)加的限制。此外,沒(méi)有方法和系統(tǒng)將冗余消除問(wèn)題作為整體來(lái)對(duì)待,并且沒(méi)有方法和系統(tǒng)能夠計(jì)算任意形式的商業(yè)規(guī)則的優(yōu)選無(wú)冗余并保留決策的子集。
【發(fā)明內(nèi)容】
[0023]在本發(fā)明的第一方面中,提供了一種用于最小化規(guī)則集的方法,包括:構(gòu)建規(guī)則集應(yīng)用圖,所述規(guī)則集應(yīng)用圖描述包含動(dòng)作和情形的規(guī)則集,其中每個(gè)規(guī)則定義用于針對(duì)一個(gè)或多個(gè)情形的動(dòng)作;針對(duì)每個(gè)規(guī)則構(gòu)建規(guī)則違反圖,所述規(guī)則違反圖描述沒(méi)有為該規(guī)則定義的動(dòng)作和情形;以及通過(guò)探測(cè)規(guī)則集中足夠用于再生成原始規(guī)則集的行為的候選子集,來(lái)確定規(guī)則子集,所述規(guī)則子集具有縮減數(shù)量的規(guī)則,具有與規(guī)則集應(yīng)用圖相同的動(dòng)作和情形的集合。
[0024]在本方面的第二方面中,提供了一種如關(guān)于權(quán)利要求7到13所描述的系統(tǒng)。
[0025]在本發(fā)明的第三方面中,提供了一種如在權(quán)利要求14中所描述的計(jì)算機(jī)程序產(chǎn)
品O
[0026]在本發(fā)明的第四方面中,提供了一種如在權(quán)利要求15中所描述的計(jì)算機(jī)程序。
[0027]優(yōu)選實(shí)施例公開(kāi)了一種用于計(jì)算任意形式的商業(yè)規(guī)則的無(wú)冗余子集的系統(tǒng)和方法,該形式將相同的決策策略表示為初始規(guī)則。該優(yōu)選實(shí)施例的該系統(tǒng)和方法確保計(jì)算的規(guī)則子集不包含任何冗余規(guī)則或不可應(yīng)用的規(guī)則,但是在不做出關(guān)于規(guī)則應(yīng)用的數(shù)量和順序的任何假設(shè)的情況下恰恰具有與初始規(guī)則集相同的決策行為。特別地,即使應(yīng)用單個(gè)規(guī)貝U,優(yōu)選方法也不改變規(guī)則集的行為。該優(yōu)選系統(tǒng)和方法不將冗余消除限制在由單個(gè)規(guī)則而導(dǎo)致冗余的局部冗余規(guī)則,而是能夠標(biāo)識(shí)由其他規(guī)則的組合而導(dǎo)致冗余的全局冗余規(guī)貝U。此外,該優(yōu)選方法實(shí)現(xiàn)針對(duì)通用形式的商業(yè)規(guī)則的冗余消除,其區(qū)別可以在于它們的范圍,也就是說(shuō),在于它們匹配的對(duì)象的數(shù)量和類(lèi)型。特別地,該優(yōu)選方法不限于在具有有限域的有限數(shù)量屬性上制定的規(guī)則。
[0028]由于可能存在規(guī)則集的不同無(wú)冗余策略保留子集,該優(yōu)選方法考慮規(guī)則之間的重要性的偏好,以引導(dǎo)冗余消除過(guò)程選擇要保留的規(guī)則以及要消除的規(guī)則。因此,該優(yōu)選系統(tǒng)和方法被適配以保持更通用的規(guī)則并且消除更特定的規(guī)則。這一特定的適配確保在所得的規(guī)則集中的規(guī)則盡可能通用,并且不能被初始規(guī)則集中所包含的更通用的規(guī)則所替代。該優(yōu)選方法因此準(zhǔn)許一種在不對(duì)規(guī)則應(yīng)用具有任何影響的情況下的縮減規(guī)則集大小的通知方式。益處在于降低存儲(chǔ)、管理和改變規(guī)則的精力。實(shí)際上,對(duì)于規(guī)則集的有效靈活性,也就是說(shuō)對(duì)于允許規(guī)則對(duì)變化的商業(yè)需求的簡(jiǎn)單適配,邏輯獨(dú)立和冗余消除是必要的。
[0029]該優(yōu)選系統(tǒng)和方法通過(guò)借助基于一致性的解釋技術(shù),實(shí)現(xiàn)規(guī)則集最小化,以便于探測(cè)該規(guī)則集的不同候選子集來(lái)知曉它們是否足夠用于再生成原始規(guī)則集的決策行為。如果候選子集未再生成原始規(guī)則集的行為,則在該候選子集中缺失原始規(guī)則集所處理的情形中的一些情形,和/或該候選子集未做出原始規(guī)則集針對(duì)這樣的情形可以做出的決策中的一些決策。第二種情況僅在原始規(guī)則集包含針對(duì)一些情形做出多個(gè)決策的規(guī)則時(shí)才出現(xiàn)。如果沒(méi)有可能在不引入任何缺失情形或任何缺失決策的情況下從該子集中移除任何規(guī)則,則候選子集是最小的并且因此是無(wú)冗余的。
[0030]優(yōu)選地,所述確定步驟包括:從該規(guī)則違反圖構(gòu)建規(guī)則違反圖候選子集,每個(gè)規(guī)則違反圖候選子集包括未被定義的動(dòng)作和情形,并且進(jìn)一步針對(duì)每個(gè)規(guī)則違反圖候選子集確定未被定義的那些動(dòng)作和情形是否與規(guī)則集應(yīng)用圖定義的動(dòng)作和情形邏輯上不同。
[0031]更優(yōu)選地,所述方法進(jìn)一步包括確定多于一個(gè)的有效縮減的規(guī)則子集,并且使用規(guī)則之間的偏好來(lái)選擇優(yōu)選的有效縮減的規(guī)則子集。該縮減的規(guī)則子集在其保留原始規(guī)則集的動(dòng)作和情形的意義必須是有效的。在優(yōu)選實(shí)施例中,拓?fù)湟?guī)則分類(lèi)器通過(guò)執(zhí)行圖的拓?fù)浞诸?lèi)來(lái)確定規(guī)則的整體排序,該圖由規(guī)則集(作為節(jié)點(diǎn))和規(guī)則集的規(guī)則上的給定偏好(作為邊緣)來(lái)形成。
[0032]有利地,所述進(jìn)一步確定包括:通過(guò)結(jié)合該規(guī)則集應(yīng)用圖和每個(gè)相應(yīng)的規(guī)則集違反圖候選子集來(lái)構(gòu)建相應(yīng)的損壞規(guī)則集圖;以及針對(duì)邏輯一致性來(lái)測(cè)試每個(gè)損壞規(guī)則集圖。
[0033]更有利地,規(guī)則集能夠定義來(lái)自一個(gè)對(duì)象類(lèi)型的多于一個(gè)的對(duì)象,并且其中所述構(gòu)建每個(gè)損壞規(guī)則集圖包括:針對(duì)由規(guī)則集定義的每個(gè)對(duì)象來(lái)構(gòu)建損壞規(guī)則集圖。雖然該優(yōu)選實(shí)施例討論了針對(duì)每個(gè)對(duì)象構(gòu)建規(guī)則實(shí)例,其優(yōu)點(diǎn)來(lái)源于具有針對(duì)由如下規(guī)則集定義的每個(gè)對(duì)象的損壞規(guī)則集圖,該規(guī)則集包括對(duì)一種類(lèi)型或分類(lèi)的對(duì)象中的每個(gè)對(duì)象。如果該實(shí)施例僅創(chuàng)建針對(duì)該對(duì)象類(lèi)型的損壞規(guī)則集圖,那么它將缺失大量的損壞規(guī)則集圖用于解決問(wèn)題以知曉它們是否不具有缺失情形或缺失動(dòng)作。
[0034]適當(dāng)?shù)?,該方法進(jìn)一步包括:標(biāo)識(shí)其中規(guī)則的動(dòng)作獨(dú)立于該規(guī)則的情形的規(guī)則;以及忽略在該規(guī)則集應(yīng)用圖和規(guī)則違反圖中所標(biāo)識(shí)的動(dòng)作。更適當(dāng)?shù)?,該?guī)則集被分割為部分,即每個(gè)部分用于每個(gè)動(dòng)作,并且每個(gè)部分僅包含具有對(duì)應(yīng)的動(dòng)作的規(guī)則;然后該方法被應(yīng)用到每個(gè)部分。
【專利附圖】
【附圖說(shuō)明】
[0035]現(xiàn)在將參照附圖,僅通過(guò)示例的方式來(lái)描述本發(fā)明的實(shí)施例,其中:
[0036]圖1圖示了表示示例決策集和在示例策略的屬性空間中的兩個(gè)對(duì)應(yīng)的規(guī)則集的上部圖、中部圖和底部圖;
[0037]圖2圖示了表示來(lái)自圖1的示例的規(guī)則集、經(jīng)清除的規(guī)則集和損壞的規(guī)則集的上部圖、中部圖和底部圖;[0038]圖3圖示了表示規(guī)則集3的左上和右上圖、表示清除規(guī)則集3的第一方式的左中和右中圖、以及表示清除規(guī)則項(xiàng)目3的第二方式的底部圖;
[0039]圖4圖示了全部根據(jù)優(yōu)選實(shí)施例的基于偏好的冗余消除器400的部件以及在這些部件之間的數(shù)據(jù)流步驟;
[0040]圖5圖示了用于規(guī)則集2的規(guī)則集應(yīng)用圖;
[0041]圖6圖示了全部根據(jù)優(yōu)選實(shí)施例的一致性檢查器408的部件以及這些部件之間的數(shù)據(jù)流步驟;
[0042]圖7圖示了作為到圖6的損壞規(guī)則集檢查器的輸入的示例規(guī)則違反圖;
[0043]圖8圖示了規(guī)則項(xiàng)目2的所有規(guī)則的規(guī)則實(shí)例違反圖;
[0044]圖9圖示了用于候選子集的損壞規(guī)則集圖,其包括示例規(guī)則項(xiàng)目2的所有5個(gè)規(guī)貝丨J p1、g2、gl,、g3,、si ;
[0045]圖10圖示了用于示例規(guī)則項(xiàng)目2的四個(gè)規(guī)則p1、g2、gl’、g3’ (si被移除)的候選集合的標(biāo)記損壞規(guī)則集圖;
[0046]圖11圖示了用于示例規(guī)則項(xiàng)目2的四個(gè)規(guī)則p1、g2、gl’、si (g3’被移除)的候選集合的標(biāo)記損壞規(guī)則集圖;以及
[0047]圖12圖示了用于示例規(guī)則項(xiàng)目2的四個(gè)規(guī)則p1、gl’、g3’、si (g2被移除)的候選集合的標(biāo)記損壞規(guī)則集圖。
【具體實(shí)施方式】
[0048]商業(yè)規(guī)則是表示用于諸如貸款批準(zhǔn)、保險(xiǎn)索賠處理或購(gòu)物車(chē)折扣的例行決策任務(wù)的決策策略的方便方式。商業(yè)規(guī)則捕獲關(guān)于針對(duì)哪個(gè)情形的最好決策是哪個(gè)的知識(shí)。每個(gè)規(guī)則包括描述由該規(guī)則所處理的情形的條件、以及當(dāng)被執(zhí)行時(shí)做出決策的動(dòng)作。一方面,商業(yè)規(guī)則準(zhǔn)許用于商業(yè)自動(dòng)化的有效工具,因?yàn)樗鼈兡軌蚪?jīng)由決策服務(wù)被應(yīng)用到大量的情形。在另一方面,它們?cè)谏虡I(yè)分析者和決策制定者手中構(gòu)成有效的手段,以在需要的時(shí)候監(jiān)測(cè)并且修改決策策略。如果使用得當(dāng),從策略的小變化相當(dāng)于規(guī)則的小變化的意義而言,商業(yè)規(guī)則是決策策略的靈活表示。例如,如果決策制定者想要改變針對(duì)相似情形族的決策,那么這樣的改變應(yīng)當(dāng)僅影響小數(shù)量的規(guī)則?;蛘哒f(shuō),改變小數(shù)量的規(guī)則以修改針對(duì)較大的相似情形族的決策行為是足夠的。
[0049]首先,靈活原則要求每個(gè)規(guī)則處理多于一個(gè)的情形。如果情形和規(guī)則是一對(duì)一關(guān)系,那么決策制定者將不得不改變每個(gè)個(gè)體情形的決策,并且不能利用規(guī)則的少量編輯來(lái)改變整個(gè)族的相似情形的決策行為。此外,可能的情形數(shù)量可以是龐大的,或者甚至是無(wú)限的,因此禁止這樣的決策策略的按情形(case-wise)描述。提供考慮無(wú)限數(shù)量的情形的決策策略的有限表示事實(shí)上是商業(yè)規(guī)則的主要優(yōu)點(diǎn)。商業(yè)規(guī)則的另一個(gè)優(yōu)點(diǎn)在于它們將更多復(fù)雜的決策策略的描述分割為不同的部分,也就是不同的規(guī)則。這種分割針對(duì)如下的決策策略的部分來(lái)完成,這些決策策略的部分做出不同的決策,或者考慮那些過(guò)于不同而不能由單個(gè)規(guī)則來(lái)處理的情形分組。然而,需要理解,由于存在不同的方式將所有情形的組合劃分為相似情形族,相同的決策策略可以由不同的商業(yè)規(guī)則來(lái)表示。
[0050]表I示出了示例商業(yè)規(guī)則項(xiàng)目1,當(dāng)其出現(xiàn)在客戶忠誠(chéng)度計(jì)劃中時(shí),其表示簡(jiǎn)單的客戶類(lèi)別問(wèn)題的決策策略。取決于客戶年齡和購(gòu)物車(chē)價(jià)值,即該客戶已經(jīng)購(gòu)買(mǎi)的物品的價(jià)值,該策略做出關(guān)于客戶類(lèi)別的決策。因此,這兩個(gè)屬性具有客戶類(lèi)別問(wèn)題的情形的特征,并且所有情形的空間對(duì)應(yīng)于二維空間,如在圖1中所描繪的。圖1包括表示示例決策集和在示例策略的屬性空間中的兩個(gè)對(duì)應(yīng)規(guī)則集的上部圖、中部圖和底部圖。例如,圖1中的規(guī)則項(xiàng)目I包括非重疊規(guī)則的規(guī)則集,即每個(gè)情形恰好由一個(gè)規(guī)則來(lái)處理。圖1的中間部分以矩形區(qū)域的形式示出由規(guī)則集中的每個(gè)規(guī)則所處理的情形。規(guī)則Si所覆蓋的區(qū)域?qū)?yīng)于為其而選擇類(lèi)別銀的決策策略部分。由規(guī)則Pi所覆蓋的區(qū)域?qū)?yīng)為其而選擇類(lèi)別白金的決策策略部分。剩余的規(guī)則gl、g2和g3將為其而選擇類(lèi)別金的區(qū)域劃分為不同部分。
[0051]
表I
規(guī)則項(xiàng)目I
Si如果客戶的年齡小于20b并且客戶的價(jià)值小于20,那么設(shè)置
一客戶的類(lèi)別為“銀” ;_
gl如果客戶的年齡至少為20并且客戶的價(jià)值小于20,那么設(shè)置
一客戶的類(lèi)別為“金” ;_
g2如果客戶的價(jià)值至少為20并且客戶的價(jià)值最多為40,那么設(shè)I
置客戶的類(lèi)別為“金” ;_
g3如果客戶的年齡小于20并且客戶的價(jià)值大于40,那么設(shè)置客 I戶的類(lèi)別為“金” ;_
[0052]
pi如果客戶的年齡至少為20并且客戶的價(jià)值大于40,那么設(shè)置 I客戶的類(lèi)別為“白金” ;_
[0053]當(dāng)回顧規(guī)則項(xiàng)目I時(shí),商業(yè)分析者檢測(cè)到規(guī)則gl和g3不是最通用的形式。更通用的規(guī)則具有如下優(yōu)點(diǎn):它們覆蓋情形空間中的更大區(qū)域,并且假定那些情形足夠相似,使得更容易改變針對(duì)較大的情形組的決策。因此,該分析者決定用更通用的規(guī)則gl’來(lái)替換規(guī)則gl:
[0054]gl:如果客戶年齡至少為20并且
[0055]客戶的價(jià)值小于20
[0056]那么設(shè)置客戶的類(lèi)別為“金”;
[0057]gl’:如果客戶的年齡至少為20并且
[0058]客戶的價(jià)值最多為40
[0059]那么設(shè)置客戶的類(lèi)別為“金”;
[0060]類(lèi)似地,分析者決定用更通用的規(guī)則g3’來(lái)替代規(guī)則g3:
[0061]g3:如果客戶的年齡小于20并且
[0062]客戶的價(jià)值大于40[0063]那么設(shè)置客戶的類(lèi)別為“金”;
[0064]g3’:如果客戶的年齡小于20并且
[0065]客戶的價(jià)值至少為20
[0066]那么設(shè)置客戶的類(lèi)別為“金”;
[0067]這得到了新的規(guī)則項(xiàng)目,即在表2中描述的商業(yè)規(guī)則項(xiàng)目2。圖1的底部示出商業(yè)規(guī)則項(xiàng)目2表示與商業(yè)規(guī)則項(xiàng)目I相同的決策策略。區(qū)別在于屬于類(lèi)別“金”的情形組如何在規(guī)則gl、g2、g3之間以及在規(guī)則gl’、g2、g3’之間劃分的方式。
[0068]
表2_
規(guī)則項(xiàng)目2
Si 如果客戶的年齡小于20并且客戶的價(jià)值小于20,那么設(shè)置
I客戶的類(lèi)別為“銀” ;_
[0069]
gl 如果客戶的年齡至少為20并且客戶的價(jià)值最多為40,那么
_設(shè)置客戶的類(lèi)別為“金” ;_
g2 如果客戶的價(jià)值至少為20并且客戶的價(jià)值最多為40,那么
_設(shè)置客戶的類(lèi)別為“金” ;_
g3’ 如果客戶的年齡小于20并且客戶的價(jià)值至少為20,那么設(shè)
置客戶的類(lèi)別為“金” ;_
pi 如果客戶的年齡至少為20并且客戶的價(jià)值大于40,那么設(shè) I置客戶的類(lèi)別為“白金” ;_
[0070]由于規(guī)則項(xiàng)目2的規(guī)則比規(guī)則項(xiàng)目I具有更通用的條件,因而處理更多情形,即使原始規(guī)則項(xiàng)目是無(wú)冗余的,該規(guī)則項(xiàng)目具有冗余規(guī)則也是可能的。事實(shí)上,在規(guī)則項(xiàng)目2中規(guī)則g2是冗余的。規(guī)則g2的情形由規(guī)則gl’或g3’處理,并且這與規(guī)則g2的方式相同,即規(guī)則gl’和g3’做出與g2對(duì)g2’處理的每個(gè)情形相同的決策。因此,在不改變行為的情況下從規(guī)則項(xiàng)目2中移除規(guī)則g2是可能的。圖2圖示了這點(diǎn)。圖2包括表示來(lái)自圖1的示例的表示所處理的規(guī)則集、經(jīng)清除的規(guī)則集和損壞的規(guī)則集的上部圖、中部圖和底部圖。圖2在上部分中示出規(guī)則項(xiàng)目2的所處理的修改情形。中部分示出在移除規(guī)則g2之后獲取的經(jīng)清除的規(guī)則集的處理情形。g2的移除沒(méi)有導(dǎo)致任何缺失的情形。圖2的底部分示出移除非冗余規(guī)則的影響。例如,規(guī)則gl的移除導(dǎo)致缺失的情形,缺失的情形特征在于年齡至少20并且價(jià)值至少20。雖然經(jīng)清除的規(guī)則集表示第一示例的決策策略,但是通過(guò)移除非冗余規(guī)則r2而獲取的損壞的規(guī)則集未表示這一策略,因?yàn)樗哂腥笔樾巍?br>
[0071]在該第一示例中,存在單個(gè)冗余規(guī)則,并且從該規(guī)則項(xiàng)目中移除該規(guī)則以消除這一冗余是足夠的。一般地,可能存在多個(gè)冗余規(guī)則以及不同的消除冗余的方式,意味著用于冗余消除的系統(tǒng)不得不做出一些選擇。
[0072]以下規(guī)則項(xiàng)目3提供了能夠以不同方式消除冗余規(guī)則的示例。它具有表3中列出的8個(gè)規(guī)則sl、pl、以及gl到g6。它們表示基于三個(gè)屬性(即年齡、客戶購(gòu)買(mǎi)的物品的價(jià)值以及客戶忠誠(chéng)度)來(lái)確定客戶類(lèi)別的決策策略,客戶忠誠(chéng)度可以是低或者高。因此,該規(guī)則項(xiàng)目的情形特征在于三維空間。圖3包括左上和右上圖、左中和右中圖、左下和右下圖。上部圖表示所處理的規(guī)則項(xiàng)目I和2,中部圖表示清除的規(guī)則項(xiàng)目3的第一方式,底部圖表示清除的規(guī)則項(xiàng)目3的第二方式。左側(cè)圖示出針對(duì)低忠誠(chéng)度客戶的處理情形,并且右側(cè)圖示出針對(duì)高忠誠(chéng)度客戶的處理情形。圖3的上部圖示出以該三維空間的兩個(gè)二維層的形式的規(guī)則的處理情形。
[0073]
表3_
規(guī)則項(xiàng)目3_
Si 如果客戶的年齡小于20并且客戶的價(jià)值小于20并且客戶的
忠誠(chéng)度低,那么設(shè)置客戶的類(lèi)別為“銀” ;_
gl 如果客戶的年齡至少為20并且客戶的忠誠(chéng)度低,那么設(shè)置
_客戶的類(lèi)別為“金” ;_
g2 如果客戶的價(jià)值至少為20并且客戶的忠誠(chéng)度低,那么設(shè)置
_客戶的類(lèi)別為“金” ;_
g3 如果客戶的年齡最多為20并且客戶的價(jià)值至少為20,那么
_設(shè)置客戶的類(lèi)別為“金” ;_
g4 如果客戶的年齡最多為20并且客戶的忠誠(chéng)度高,那么設(shè)置
_客戶的類(lèi)別為“金” ;_
g5 如果客戶的價(jià)值最多為20并且客戶的忠誠(chéng)度高,那么設(shè)置
_客戶的類(lèi)別為“金” ;_
g6 如果客戶的年齡至少為20,并且客戶的價(jià)值最多為20,那
么設(shè)置客戶的類(lèi)別為“金” ;_
pi 如果客戶的年齡大于20并且客戶的價(jià)值大于20并且客戶的 I忠誠(chéng)度高,那么設(shè)置客戶的類(lèi)別為“白金” ;_
[0074]存在6個(gè)選擇用戶類(lèi)別為“金”的規(guī)則。它們所處理的情形的嚴(yán)格檢查示出這些規(guī)則中的每個(gè)規(guī)則被其他規(guī)則中的一些規(guī)則變得冗余:
[0075].規(guī)則g6和g2使得規(guī)則gl冗余。
[0076].規(guī)則gl和g3使得規(guī)則g2冗余。[0077].規(guī)則g2和g4使得規(guī)則g3冗余。
[0078].規(guī)則g3和g5使得規(guī)則g4冗余。
[0079].規(guī)則g4和g6使得規(guī)則g5冗余。
[0080].規(guī)則g5和gl使得規(guī)則g6冗余。
[0081]雖然一些其他規(guī)則導(dǎo)致所有規(guī)則冗余,移除所有規(guī)則將不僅消除所有這些冗余,還將導(dǎo)致規(guī)則集不再將金類(lèi)別指定給任何客戶。事實(shí)上,所得的規(guī)則集不表示關(guān)注金決策的決策策略部分。這一示例示出,冗余消除不能由兩個(gè)單獨(dú)的任務(wù)(其中第一任務(wù)在于檢測(cè)所有的冗余規(guī)則,并且第二任務(wù)在于消除它們)來(lái)實(shí)現(xiàn)。事實(shí)上,冗余消除包括單個(gè)任務(wù),即計(jì)算給定規(guī)則集的無(wú)冗余子集,該無(wú)冗余子集表示與該規(guī)則集相同的策略。一般地,可以存在若干這些規(guī)則集的無(wú)冗余子集。例如,規(guī)則項(xiàng)目3具有表示給定的決策策略的兩個(gè)無(wú)冗余子集。第一無(wú)冗余規(guī)則集包括規(guī)則81^1、83^5、?1。圖3的中部分示出了這些規(guī)則集所處理的情形,并且它們與規(guī)則項(xiàng)目3所處理的情形一致。第二無(wú)冗余子集包括規(guī)則S1、g2、g4、g6、pi。圖3的底部分示出這些規(guī)則集所處理的情形,其再次與規(guī)則項(xiàng)目3所處理的情形一致。
[0082]盡管找到規(guī)則集中所有冗余規(guī)則以及消除這些冗余規(guī)則的任務(wù)具有唯一的結(jié)果,但是使規(guī)則集無(wú)冗余的任務(wù)可以具有多個(gè)結(jié)果。因此,在計(jì)算同一行為的無(wú)冗余子集時(shí),冗余消除器必須做出某個(gè)選擇。冗余消除器可以計(jì)算任意的無(wú)冗余子集或者由商業(yè)分析者優(yōu)選的無(wú)冗余子集,該商業(yè)分析者正在決定如何根據(jù)規(guī)則表示決策策略。
[0083]冗余消除器需要附加的輸入來(lái)計(jì)算優(yōu)選的無(wú)冗余規(guī)則子集,其表示給定的決策策略。交互冗余分析器在每個(gè) 步驟向商業(yè)分析者呈現(xiàn)冗余規(guī)則列表,并且要求該用戶選擇要消除的一條規(guī)則。隨后,其消除這一規(guī)則,因此生成縮減的規(guī)則集,該縮減規(guī)則集表示與未縮減的規(guī)則集相同的決策策略。系統(tǒng)隨后重新計(jì)算冗余規(guī)則的列表,并且再次要求商業(yè)分析者選擇一個(gè)規(guī)則用于消除。該系統(tǒng)迭代該過(guò)程直至剩余規(guī)則不再包含任何冗余規(guī)則。隨著決策策略在每個(gè)步驟中被保留,最后的子集是無(wú)冗余的并且表示原始規(guī)則集的決策策略。
[0084]雖然這一交互方法給予了商業(yè)分析者對(duì)冗余消除過(guò)程的全部控制,但是它要求頻繁的用戶交互,并且每次可能向用戶提交長(zhǎng)列表的冗余規(guī)則。這一列表可以慢慢縮減,意味著用戶必須一次又一次地重復(fù)檢驗(yàn)相同的規(guī)則??雌饋?lái)這種長(zhǎng)列表規(guī)則的重復(fù)檢查是不需要的,因?yàn)槿哂嘞骱?jiǎn)單地要求所有規(guī)則的順序,以及這獨(dú)立于規(guī)則是否冗余的事實(shí)。替代要求用戶重復(fù)檢驗(yàn)長(zhǎng)列表的冗余規(guī)則,在開(kāi)始冗余消除過(guò)程之前,基于偏好的冗余分析器簡(jiǎn)單地要求規(guī)則的整體順序作為附加輸入。如果一個(gè)規(guī)則在順序上位于另外一個(gè)規(guī)則之前,優(yōu)選該另外一個(gè)規(guī)則。應(yīng)當(dāng)首先消除非優(yōu)選的規(guī)則,并且應(yīng)當(dāng)最后消除優(yōu)選的規(guī)則。
[0085]雖然排序所有規(guī)則的任務(wù)比重復(fù)檢查冗余規(guī)則列表的任務(wù)更容易,其仍要求來(lái)自商業(yè)分析者的大量精力。通常,商業(yè)分析者可能不在乎一些規(guī)則的排序,并且表達(dá)僅僅一些其他規(guī)則之間的偏好。因此,分析者可以指定規(guī)則之間的部分偏好(預(yù)先)順序,其能夠根據(jù)圖形或邏輯表達(dá)來(lái)呈現(xiàn)。例如,商業(yè)分析者可以表達(dá)以下的規(guī)則之間的重要性偏好。
[0086].規(guī)則g2比gl更優(yōu)選。
[0087].規(guī)則gl比g5更優(yōu)選。
[0088].規(guī)則g5比g6更優(yōu)選。[0089].規(guī)則gl比g3更優(yōu)選。
[0090].規(guī)則g3比g4更優(yōu)選。
[0091].規(guī)則g4比g6更優(yōu)選。
[0092]基于偏好的冗余消除器將首先選擇一種方式通過(guò)整體排序來(lái)完成規(guī)則集中的規(guī)則這樣的部分偏好排序。一種可能的實(shí)現(xiàn)是整體排序s1、p1、g2、gl、g5、g3、g4、g6。因?yàn)樵谠撆判蛑衅玫拿總€(gè)優(yōu)選規(guī)則在偏好的非優(yōu)選規(guī)則之前,所以這一排序滿足上文列出的偏好中的每個(gè)偏好。這產(chǎn)生了原始規(guī)則集的單個(gè)優(yōu)選的無(wú)冗余策略保留子集。一些其他的排序可以導(dǎo)致不同的優(yōu)選子集。
[0093]如根據(jù)這兩個(gè)示例所解釋的,基于偏好的冗余消除器接收商業(yè)規(guī)則項(xiàng)目以及該項(xiàng)目的規(guī)則之間的部分偏好排序的描述作為輸入。它計(jì)算這些規(guī)則的優(yōu)選的無(wú)冗余子集,該無(wú)冗余子集保留原始規(guī)則集的決策策略。
[0094]圖4示出了根據(jù)優(yōu)選實(shí)施例的冗余消除器400的部件402-412 ;這些部件之間的數(shù)據(jù)階段450-462被示出。
[0095]冗余消除器400包括:拓?fù)湟?guī)則分類(lèi)器402 ;規(guī)則集應(yīng)用建模器404 ;規(guī)則違反建模器406 ;沖突集最小化器408 ;—致性檢查器410和規(guī)則提取器412。
[0096]拓?fù)湟?guī)則分類(lèi)器402通過(guò)執(zhí)行圖的拓?fù)浞诸?lèi)來(lái)確定規(guī)則的整體排序,該圖由規(guī)則集450 (作為節(jié)點(diǎn))和規(guī)則集的規(guī)則452上的給定偏好(作為邊緣)來(lái)形成。
[0097]規(guī)則集應(yīng)用建模器404通過(guò)約束圖的整個(gè)規(guī)則集450來(lái)表示的決策策略進(jìn)行建模,約束圖依據(jù)被稱為規(guī)則集應(yīng)用圖458 ;對(duì)規(guī)則的應(yīng)用逐字地(literally)建模。規(guī)則集應(yīng)用圖458以隱含的邏輯形式來(lái)描述:一些規(guī)則可應(yīng)用,并且其決策由該策略做出。該圖的節(jié)點(diǎn)對(duì)應(yīng)于規(guī)則中出現(xiàn)的表達(dá)式、測(cè)試、條件和動(dòng)作。動(dòng)作節(jié)點(diǎn)描述了由該規(guī)則做出的決策是由該規(guī)則集做出的。這通過(guò)在全局的規(guī)則集動(dòng)作與該規(guī)則的動(dòng)作之間的等同性來(lái)進(jìn)行建模。邏輯問(wèn)題求解器(一致性檢查器410的一部分)能夠找到這個(gè)圖的解答,該解答對(duì)應(yīng)于規(guī)則所處理的情形與針對(duì)這些情形而做出的決策的組合。
[0098]規(guī)則違反建模器406對(duì)規(guī)則的違反(從該規(guī)則集中缺失的動(dòng)作和情形)進(jìn)行建模,而不是對(duì)規(guī)則的應(yīng)用(該規(guī)則集所處理的動(dòng)作和情形);其構(gòu)造規(guī)則違反圖456的有序列表,每個(gè)規(guī)則違反圖針對(duì)一個(gè)規(guī)則。每個(gè)規(guī)則違反圖是約束圖的類(lèi)型,并且描述規(guī)則不可應(yīng)用或者其動(dòng)作不是由該策略做出。如果該情形不由該規(guī)則所處理,或者該動(dòng)作不同于該規(guī)則所做出的動(dòng)作,情形和動(dòng)作的組合符合這張圖。規(guī)則違反建模器406以給定的排序?yàn)槊總€(gè)規(guī)則構(gòu)造圖,并且返回對(duì)應(yīng)于這些規(guī)則的排序的規(guī)則違反圖的排序。該規(guī)則違反圖由全局規(guī)則集動(dòng)作與該規(guī)則的動(dòng)作之間的差異約束來(lái)進(jìn)行建模。邏輯問(wèn)題解決引擎找到這張圖的解答,該解答對(duì)應(yīng)缺失情形和任意動(dòng)作的組合,或者所處理的情形和缺失動(dòng)作的組合。
[0099]沖突集最小化器408確定規(guī)則違反圖的優(yōu)選且最小的子集,這些規(guī)則違反圖與規(guī)則集應(yīng)用圖458在邏輯上足夠矛盾。沖突集最小化器408將規(guī)則集應(yīng)用圖458使用作為背景,并且將個(gè)體規(guī)則違反圖456使用作為前景。圖458的解答集與圖456的解答集不相交,意味著規(guī)則集應(yīng)用圖458與所有規(guī)則違反圖456的組合沒(méi)有解答,并且在邏輯上是矛盾的。與規(guī)則集應(yīng)用圖組合沒(méi)有解答的規(guī)則違反圖的子集將與原始規(guī)則集不一致。沖突集最小化器408隨后確定規(guī)則的子集,從而那些規(guī)則的規(guī)則違反圖仍然關(guān)于規(guī)則集應(yīng)用圖458不一致,意味著沒(méi)有該規(guī)則集所處理的情形是針對(duì)子集中的規(guī)則的缺失情形,并且不存在由該規(guī)則集針對(duì)一些情形而做出的決策不能由所選擇的子集中的規(guī)則針對(duì)同一情形而做出。沖突集最小化器408標(biāo)識(shí)規(guī)則子集,該規(guī)則子集包括仍與原始規(guī)則集不一致的最小集合;這被稱為最小規(guī)則子集。因此,規(guī)則的最小子集足以再生成原始規(guī)則集的決策行為,并且最小條件確保了最小子集是無(wú)冗余的。通過(guò)在單個(gè)步驟中移除冗余規(guī)則的整體塊來(lái)加速針對(duì)具有許多冗余規(guī)則的規(guī)則集的冗余消除是可能的。使用規(guī)則之間的重要性偏好來(lái)引導(dǎo)在冗余消除過(guò)程中被移除的規(guī)則的選擇也是可行的。加速的冗余消除和規(guī)則選擇引導(dǎo)與文檔 QuickXplain 中所描述的方法相似?!≦uickXplain:Preferred Explanations andRelaxations for Over-Constrained Problems〃由 U.Junker 發(fā)表在國(guó)際人工智能協(xié)會(huì)(AAAI) 2004 會(huì)議中。
[0100]如果由規(guī)則做出的決策獨(dú)立于由該規(guī)則所處理的情形,冗余消除方法能夠被簡(jiǎn)化并且計(jì)算工作量可以降低。在這種情況下,做出相同決策的每個(gè)規(guī)則子集能夠被單獨(dú)處理,并且規(guī)則決策在規(guī)則應(yīng)用和規(guī)則違反圖中能夠被忽略。由于簡(jiǎn)化的方法忽略該決策,其能夠從沒(méi)有動(dòng)作部分的缺失規(guī)則集合中消除冗余。
[0101]一致性檢查器410提供處理引擎,用于確定規(guī)則違反圖的優(yōu)選且最小的子集,并且在下文參照?qǐng)D6進(jìn)行更具體的描述。
[0102]規(guī)則提取器412接收最小的規(guī)則違反圖集合460,并且提取與所選擇的子集中的規(guī)則違反圖相關(guān)聯(lián)的規(guī)則。這一提取的規(guī)則子集是最小無(wú)冗余的規(guī)則集462。
[0103]冗余消除器400返回最小無(wú)冗余的規(guī)則集462作為結(jié)果。
[0104]因此,冗余消除器400使用沖突集最小化器408和一致性檢查器410來(lái)縮減規(guī)則集,并且確定與給定的背景約束在邏輯上不一致的前景約束的最小子集。冗余消除器400提供決策策略模型,即作為背景約束的規(guī)則集應(yīng)用圖和作為前景約束的規(guī)則違反圖。通過(guò)原始規(guī)則集的缺失情形(即不由原始規(guī)則集中的任何規(guī)則所處理的情形)或通過(guò)針對(duì)原始規(guī)則集所處理的情形的缺失決策(即原始規(guī)則集針對(duì)這些情形不能做出的決策)來(lái)滿足這些前景約束。通過(guò)原始規(guī)則集所處理的情形以及由該規(guī)則集針對(duì)所處理的情形而做出的決策來(lái)滿足背景約束。不存在既滿足背景約束又滿足前景約束的情形和決策的組合,意味著背景約束和所有前景約束的合并是不一致的。沖突集最小化器408然后探測(cè)前景約束的不同子集,即針對(duì)原始規(guī)則集中的規(guī)則所生成的所有規(guī)則違反圖的集合的子集。每個(gè)規(guī)則違反圖的子集對(duì)應(yīng)于規(guī)則子集。如果前景約束的子集具有還滿足背景約束的解答,那么存在原始規(guī)則集所處理的情形是針對(duì)規(guī)則子集的缺失情形,或者具有針對(duì)該規(guī)則子集的缺失決策。圖2的底部分圖示了針對(duì)規(guī)則項(xiàng)目2的規(guī)則子集的這種缺失情形。該子集通過(guò)移除規(guī)則gl而獲取并且包括規(guī)則S1、g2、g3、pi。由于gl的移除創(chuàng)建了缺失情形,這個(gè)子集不表示原始規(guī)則集的決策策略。這是由規(guī)則gl的規(guī)則違反圖的移除而在沖突集最小化器406內(nèi)部進(jìn)行建模。規(guī)則違反圖的移除因此能夠增加候選子集的缺失情形或缺失決策。
[0105]優(yōu)選實(shí)施例遞歸地將沖突集檢測(cè)問(wèn)題分割為較小的部分,并且如果所得的沖突集比前景約束的原始集合小時(shí),加速該檢測(cè)。如果規(guī)則集包含許多冗余規(guī)則,優(yōu)選實(shí)施例通過(guò)進(jìn)行單個(gè)一致性檢查來(lái)移除整塊的冗余規(guī)則。這樣的機(jī)制在沖突集合最小化中是已知的,但是對(duì)于優(yōu)化規(guī)則集最小化是未知的。例如,QuickXplain能夠計(jì)算最小且優(yōu)選的沖突集,但未討論其如何被應(yīng)用在規(guī)則集的縮減中。
[0106]規(guī)則集應(yīng)用建模器404構(gòu)建約束圖,該約束圖以隱含的形式將規(guī)則集所處理的情形和動(dòng)作表示為具有由邊緣連接的根節(jié)點(diǎn)和子節(jié)點(diǎn)的數(shù)據(jù)樹(shù)結(jié)構(gòu)。情形和動(dòng)作由邏輯表達(dá)形成,并且規(guī)則集應(yīng)用建模器404遞歸地橫貫包括規(guī)則的規(guī)則集中的每個(gè)規(guī)則的邏輯表達(dá),并且將每個(gè)被訪問(wèn)的邏輯表達(dá)映射至圖中的節(jié)點(diǎn)。這保證了唯一的表示,即同一表示的兩次出現(xiàn)被映射到同一圖節(jié)點(diǎn)。規(guī)則集應(yīng)用建模器404將規(guī)則所匹配的諸如數(shù)字、字符串和對(duì)象之類(lèi)的原始表示映射到葉節(jié)點(diǎn),并且它將諸如算數(shù)操作、比較、對(duì)象屬性的訪問(wèn)之類(lèi)的組成表達(dá)映射到內(nèi)部節(jié)點(diǎn),這些內(nèi)部節(jié)點(diǎn)由操作者標(biāo)記并且具有到表示它們的表達(dá)的節(jié)點(diǎn)的向外邊緣。表示由規(guī)則匹配的對(duì)象的葉節(jié)點(diǎn)典型地由每個(gè)規(guī)則的類(lèi)型和數(shù)量來(lái)重命名,以縮減圖的大小。例如,如果規(guī)則匹配被稱為“客戶”的對(duì)象,那么建模器將其重命名為“客戶I”。規(guī)則集應(yīng)用建模器404通過(guò)引入如下的圖節(jié)點(diǎn)來(lái)構(gòu)建規(guī)則的規(guī)則可應(yīng)用圖,該圖節(jié)點(diǎn)表示這一規(guī)則的測(cè)試的合并并且具有到表示這些測(cè)試的節(jié)點(diǎn)的向外邊緣。最后,規(guī)則集應(yīng)用建模器404引入規(guī)則集可應(yīng)用圖的根節(jié)點(diǎn),其表示不同的規(guī)則可應(yīng)用圖的分離并且具有到表示這些規(guī)則可應(yīng)用圖的節(jié)點(diǎn)的向外邊緣。遵守節(jié)點(diǎn)操作并且標(biāo)記根節(jié)點(diǎn)為“真”的圖節(jié)點(diǎn)的標(biāo)記表示所處理的情形。
[0107]在這種方式下,規(guī)則集應(yīng)用建模器404與本發(fā)明人的名稱為“Method and Systemfor Detecting Missing Rules with Most-General Conditions” 的歐洲專利申請(qǐng)EP20100306464.8中的被處理情形建模器相似。然而,被處理情形建模器僅考慮規(guī)則的條件,而規(guī)則應(yīng)用建模器404還通過(guò)充分的約束來(lái)對(duì)規(guī)則的動(dòng)作進(jìn)行建模。優(yōu)選實(shí)施例中所考慮的冗余消除移除對(duì)于所有規(guī)則應(yīng)用序列而言冗余的規(guī)則。特別地,即使單一規(guī)則被應(yīng)用,如果一個(gè)規(guī)則不改變規(guī)則集的行為,該規(guī)則被認(rèn)為只是冗余的。在更復(fù)雜的設(shè)置中,若干規(guī)則可以依次被應(yīng)用到情形。由更長(zhǎng)的規(guī)則應(yīng)用序列而不是由更短的序列使得規(guī)則冗余是可能的。因此當(dāng)消除冗余規(guī)則時(shí),查看最短序列是足夠的,并且最短序列具有長(zhǎng)度為1,即僅僅包括單個(gè)規(guī)則。換句話說(shuō),這意味著在消除冗余時(shí)不需要檢驗(yàn)規(guī)則序列。
[0108]冗余分析需要僅考慮單個(gè)規(guī)則應(yīng)用,并且確定通過(guò)應(yīng)用該規(guī)則而做出的動(dòng)作。該動(dòng)作可以針對(duì)與該規(guī)則所處理的所有情形而言是相同的,或者可以取決于該情形的某些對(duì)象,或者可以取決于它們的屬性中某些屬性的值。規(guī)則動(dòng)作考慮這些對(duì)象和屬性。
[0109]圖5示出了針對(duì)規(guī)則項(xiàng)目2的規(guī)則集的規(guī)則集應(yīng)用圖;該規(guī)則集應(yīng)用圖描述規(guī)則由該規(guī)則集采用并且具有等同于規(guī)則集動(dòng)作的動(dòng)作。規(guī)則集應(yīng)用建模器404通過(guò)特定的動(dòng)作節(jié)點(diǎn)(例如圖中被標(biāo)記為“設(shè)置分類(lèi)”的節(jié)點(diǎn))對(duì)規(guī)則的動(dòng)作進(jìn)行建模,該特定的動(dòng)作節(jié)點(diǎn)具有到表示該動(dòng)作依賴的對(duì)象(例如,被標(biāo)記為“客戶I”的節(jié)點(diǎn))和價(jià)值(例如,被標(biāo)記為“白金”、“金”和“銀”的節(jié)點(diǎn))的節(jié)點(diǎn)的向外邊緣。執(zhí)行規(guī)則動(dòng)作改變狀態(tài),以便于在新的狀態(tài)中做出決策。由于規(guī)則動(dòng)作將僅修改關(guān)注決策的狀態(tài)部分,并且保持狀態(tài)的其他部分不變,不同的規(guī)則動(dòng)作必然在它們做出的決策方面不同。因此規(guī)則集應(yīng)用建模器404不對(duì)規(guī)則集做出的決策進(jìn)行建模,而是對(duì)做出該決策的動(dòng)作進(jìn)行建模。例如,規(guī)則項(xiàng)目1、2和3的規(guī)則具有諸如“設(shè)置客戶的類(lèi)別為金”的動(dòng)作。這一動(dòng)作包括如下的動(dòng)作方案,即“設(shè)置一些客戶對(duì)象的類(lèi)別為一些價(jià)值”,其被應(yīng)用到對(duì)象“客戶”以及價(jià)值“金”(參見(jiàn)圖5以及7到12的“設(shè)置類(lèi)別”節(jié)點(diǎn))。
[0110]因此,動(dòng)作由依賴于情形的表達(dá)式進(jìn)行參數(shù)化。如果兩個(gè)動(dòng)作使用相同的方案和相同的參數(shù),則它們是相同的。還可以是存在表達(dá)同一動(dòng)作的兩種不同方式。例如,可以存在兩種不同的方法將金指配給客戶對(duì)象的類(lèi)別,兩種不同的方法即“設(shè)置一些客戶的類(lèi)別為金”以及“將一些客戶分類(lèi)為金客戶”。如果這是可能的,冗余分析者需要表明這兩種不同方法在某些情況下表示相同動(dòng)作的額外知識(shí)。
[0111]由于規(guī)則集應(yīng)用建模器404假定該規(guī)則集做出單一決策,其對(duì)名稱為“規(guī)則集動(dòng)作”的特定葉節(jié)點(diǎn)做出該決策的動(dòng)作進(jìn)行建模(參見(jiàn)圖5以及7到12)。該規(guī)則集動(dòng)作節(jié)點(diǎn)將與一些規(guī)則的動(dòng)作相同。規(guī)則集應(yīng)用建模器404通過(guò)表示規(guī)則集動(dòng)作與不同規(guī)則的動(dòng)作之間的等同性的等同節(jié)點(diǎn)對(duì)其建模(參見(jiàn)圖5和圖7到12中標(biāo)記為“=”的節(jié)點(diǎn))。每個(gè)等同節(jié)點(diǎn)有兩個(gè)向外邊緣,即一個(gè)引導(dǎo)至規(guī)則集動(dòng)作節(jié)點(diǎn),并且另一個(gè)引導(dǎo)至規(guī)則動(dòng)作節(jié)點(diǎn)。單個(gè)規(guī)則的規(guī)則應(yīng)用圖然后包括合并節(jié)點(diǎn),該合并節(jié)點(diǎn)表示規(guī)則的測(cè)試的合并以及規(guī)則集動(dòng)作與規(guī)則的動(dòng)作的等同性(參見(jiàn)圖5和圖7-12中標(biāo)記為“和”的節(jié)點(diǎn))。該合并節(jié)點(diǎn)具有到表示這些子表達(dá)的節(jié)點(diǎn)的向外邊緣。一旦規(guī)則集應(yīng)用建模器已經(jīng)為規(guī)則集中的每個(gè)規(guī)則構(gòu)建規(guī)則集應(yīng)用圖,其通過(guò)創(chuàng)建連接所有規(guī)則集應(yīng)用圖的合并節(jié)點(diǎn)來(lái)將它們形成在規(guī)則集圖中(參見(jiàn)圖5、11和12上部標(biāo)記為“或”的節(jié)點(diǎn))。
[0112]規(guī)則違反建模器406按照已經(jīng)由拓?fù)湟?guī)則分類(lèi)器402確定的順序來(lái)處理規(guī)則。規(guī)則違反建模器406為每個(gè)規(guī)則構(gòu)造規(guī)則違反圖,并且按與它們的規(guī)則相同的順序返回規(guī)則違反圖。規(guī)則違反建模器406以與美國(guó)專利申請(qǐng)2011/0082826的缺失情形建模器類(lèi)似的方式運(yùn)行。盡管現(xiàn)有技術(shù)的缺失情形建模器僅訪問(wèn)規(guī)則條件,實(shí)施例的規(guī)則違反建模器還考慮規(guī)則的動(dòng)作。與現(xiàn)有技術(shù)的缺失情形建模器類(lèi)似,規(guī)則違反建模器406將規(guī)則的匹配對(duì)象映射到表示邏輯變量的葉節(jié)點(diǎn)。規(guī)則的變量典型地由類(lèi)型和數(shù)量來(lái)命名。因此,如果規(guī)則匹配兩個(gè)客戶對(duì)象,規(guī)則違反建模器406將引入兩個(gè)節(jié)點(diǎn)“?客戶I”和“?客戶2”。如果另一規(guī)則匹配單個(gè)客戶對(duì)象,那么該建模器將引入單個(gè)葉節(jié)點(diǎn)“?客戶I”。該建模器通過(guò)如已經(jīng)針對(duì)規(guī)則集應(yīng)用建模器所描述的方式,將規(guī)則條件中的測(cè)試以及其子表達(dá)映射到足夠的圖節(jié)點(diǎn)。與規(guī)則集應(yīng)用建模器404類(lèi)似,規(guī)則違反建模器406創(chuàng)建表示規(guī)則集動(dòng)作和規(guī)則的動(dòng)作的等同性的圖節(jié)點(diǎn)。與規(guī)則集應(yīng)用建模器404類(lèi)似,規(guī)則違反建模器406創(chuàng)建表示如下合并的節(jié)點(diǎn),該合并是規(guī)則的測(cè)試與規(guī)則集動(dòng)作和規(guī)則的動(dòng)作的等同性的合并。該節(jié)點(diǎn)具有到表示測(cè)試和等同性的節(jié)點(diǎn)的向外邊緣。該建模器進(jìn)一步引入表示規(guī)則主體的圖節(jié)點(diǎn),也就是說(shuō),對(duì)前述的測(cè)試與規(guī)則集動(dòng)作和規(guī)則和動(dòng)作的等同性的否定(n e g a t i ο η );并且該節(jié)點(diǎn)具有到表示前述合并的圖節(jié)點(diǎn)的向外邊緣。最后,通過(guò)創(chuàng)建表示規(guī)則主體的通用終止的終止節(jié)點(diǎn),規(guī)則違反建模器406構(gòu)建規(guī)則違反圖。該終止節(jié)點(diǎn)列出規(guī)則中出現(xiàn)的所有變量,并且描述規(guī)則主體適用于對(duì)象的能夠用于實(shí)例化變量的所有合并。所得的規(guī)則違反圖因此描述了規(guī)則的每個(gè)實(shí)例是不可應(yīng)用的或者具有不同于規(guī)則集動(dòng)作的動(dòng)作。
[0113]沖突集合最小化器408接收經(jīng)排序的規(guī)則違反圖的整個(gè)集合。違反集合最小化器408逐節(jié)點(diǎn)地檢驗(yàn)這些規(guī)則違反圖的子集,并且檢查所檢驗(yàn)的子集是否在該決策策略所處理的情形和其做出的策略之中是否具有缺失情形以及缺失策略。如果發(fā)生這一情形,那么規(guī)則的子集不足以再生成該決策策略;規(guī)則的該子集構(gòu)成損壞規(guī)則集。一致性檢查器的目的在于查看所選擇的規(guī)則的子集是否再生成該決策策略或者構(gòu)成損壞規(guī)則集。
[0114]圖6示出了由沖突集最小化器所采用的一致性檢查器408的數(shù)據(jù)流圖。一致性檢查器408包括:對(duì)象提取器602 ;量化預(yù)求解器604 ;合并構(gòu)建器606以及損害規(guī)則集圖求解器608。一致性檢查器408接收規(guī)則違反圖652和規(guī)則集應(yīng)用圖458的候選子集。
[0115]在第一步驟中,對(duì)象提取器602從規(guī)則集應(yīng)用圖458中提取所有對(duì)象,并且形成對(duì)象域654;在本示例中“客戶I”是僅有的域。在第二步驟,量化預(yù)求解器604從規(guī)則違反圖652和對(duì)象域654的候選集合中實(shí)例化通用地量化的規(guī)則實(shí)例違反圖656。量化預(yù)求解器604從該對(duì)象域中確定對(duì)象的所有組合,其可以用于實(shí)例化規(guī)則違反圖610的變量。隨后,量化預(yù)求解器604通過(guò)用于實(shí)例化對(duì)象變量的對(duì)象替代每個(gè)對(duì)象變量的每次出現(xiàn),來(lái)針對(duì)對(duì)象分類(lèi)中的對(duì)象與規(guī)則違反圖的每個(gè)組合而創(chuàng)建規(guī)則實(shí)例違反圖656。例如,如果規(guī)則的變量包括“?客戶1”,并且在對(duì)象域中存在3個(gè)客戶對(duì)象“客戶1”、“客戶2”以及“客戶3”,那么量化預(yù)求解器604創(chuàng)建規(guī)則違反圖的三個(gè)實(shí)例。它通過(guò)用“客戶I”替換在規(guī)則主體中的變量“?客戶I”的所有出現(xiàn)來(lái)生成第一個(gè),通過(guò)用“客戶2”替代在規(guī)則主體中的變量“?客戶2”的所有出現(xiàn)來(lái)生成第二個(gè),以及通過(guò)用“客戶3”替代在規(guī)則主體中的變量“?客戶3”的所有出現(xiàn)來(lái)生成第三個(gè)。
[0116]合并構(gòu)建器606通過(guò)創(chuàng)建如下的圖節(jié)點(diǎn)來(lái)構(gòu)建損壞規(guī)則集圖658,該圖節(jié)點(diǎn)表示規(guī)則集應(yīng)用圖458與候選子集中所有規(guī)則的所有規(guī)則實(shí)例違反圖656的合并。
[0117]圖7示出了輸入到圖6的損壞規(guī)則集圖求解器608的規(guī)則項(xiàng)目2的損壞規(guī)則集圖614。在這一階段,損壞規(guī)則集圖658使用變量“ ?客戶1”,該變量隨后在過(guò)程中將會(huì)被改變?yōu)閷?duì)象“客戶I”。損壞規(guī)則集圖658使用通用量化器來(lái)表達(dá)對(duì)于所有客戶相應(yīng)的值是違反的。從標(biāo)記為“對(duì)于所有”節(jié)點(diǎn)到標(biāo)記為“?客戶I”的節(jié)點(diǎn)使用虛線,以便保持附圖可讀。
[0118]為了比較,圖8示出了規(guī)則項(xiàng)目2的所有規(guī)則實(shí)例違反圖的圖。
[0119]在最后步驟中,損壞規(guī)則集圖求解器608通過(guò)損壞規(guī)則集圖的圖節(jié)點(diǎn)來(lái)追蹤邏輯狀態(tài),并且以注重由圖節(jié)點(diǎn)所表達(dá)的操作并且將根節(jié)點(diǎn)標(biāo)記為“真”的方式來(lái)標(biāo)記圖節(jié)點(diǎn)。損壞規(guī)則集圖求解器從根節(jié)點(diǎn)開(kāi)始,并且沿著邊緣從父節(jié)點(diǎn)穿過(guò)到子節(jié)點(diǎn),計(jì)算每個(gè)子節(jié)點(diǎn)處的邏輯狀態(tài);其針對(duì)標(biāo)記`的存在來(lái)檢查節(jié)點(diǎn),并且如果沒(méi)有預(yù)先存在的標(biāo)記,則對(duì)該節(jié)點(diǎn)打上標(biāo)記。某些邏輯狀態(tài)容易追蹤。如果父“和”節(jié)點(diǎn)被標(biāo)記為真,那么隨后所有的子節(jié)點(diǎn)將為真。父“否”節(jié)點(diǎn)將具有與該父節(jié)點(diǎn)相反的子節(jié)點(diǎn)。其他的邏輯狀態(tài)更難。被標(biāo)記為假的父“和”節(jié)點(diǎn)將具有至少一個(gè)假子節(jié)點(diǎn)。被標(biāo)記為真的父“或”節(jié)點(diǎn)將具有至少一個(gè)真子節(jié)點(diǎn)。使用這些邏輯規(guī)則,根據(jù)一個(gè)父節(jié)點(diǎn)找到為真的子節(jié)點(diǎn)以及根據(jù)另一父節(jié)點(diǎn)找到為假的子節(jié)點(diǎn)是可能的;這樣的規(guī)則集圖的不一致標(biāo)識(shí)了不一致的候選規(guī)則集。如果損壞規(guī)則集圖求解器608未運(yùn)行到這樣的不一致,但是找到了有效標(biāo)記,那么對(duì)于候選規(guī)則子集來(lái)說(shuō)存在缺失情形或缺失決策,意味著這個(gè)子集不足以表示原始規(guī)則集的決策策略。然而,如果損壞規(guī)則集圖求解器608示出不存在這樣的標(biāo)記,那么候選子集足以表示該決策策略,并且候選子集之外的所有規(guī)則能夠確定地從候選子集移除而不改變規(guī)則集的行為。
[0120]圖9示出了針對(duì)包括所有規(guī)則的候選子集的損壞規(guī)則集圖,該圖圖示了具有不一致標(biāo)記的圖(由于空間缺乏,圖9未示出該損壞規(guī)則集圖的根節(jié)點(diǎn))。該標(biāo)記過(guò)程首先用“真”標(biāo)記損壞規(guī)則集圖的根節(jié)點(diǎn)(合并的“和”節(jié)點(diǎn))。其次,所有規(guī)則實(shí)例違反圖的根節(jié)點(diǎn)和規(guī)則集應(yīng)用圖的根節(jié)點(diǎn)(所有均連接至損壞規(guī)則集圖的根節(jié)點(diǎn))用“真”進(jìn)行標(biāo)記,因?yàn)楦?jié)點(diǎn)是合并的“和”節(jié)點(diǎn)。如果擴(kuò)展這一標(biāo)記,那么一些操作是違反的。第三,損壞規(guī)則圖求解器608用“假”標(biāo)記規(guī)則實(shí)例違反圖的根節(jié)點(diǎn)的子節(jié)點(diǎn),因?yàn)檫@些根節(jié)點(diǎn)表示邏輯否定。然而,標(biāo)記的第三步驟違反了由規(guī)則集應(yīng)用圖的根節(jié)點(diǎn)所表示的分離,因?yàn)椤盎颉惫?jié)點(diǎn)的“真”狀態(tài)與具有被標(biāo)記為“假”的所有子節(jié)點(diǎn)(參見(jiàn)虛線圓真“或”父節(jié)點(diǎn)以及五個(gè)假子節(jié)點(diǎn))是不一致的。因此,這個(gè)損壞規(guī)則集圖僅具有不一致的標(biāo)記,并且說(shuō)明了該規(guī)則集處理相同的情形并且做出與原始規(guī)則集相同的決策。
[0121]當(dāng)被應(yīng)用到規(guī)則項(xiàng)目2以及規(guī)則排序?142^1’^3’、81時(shí),沖突集最小化器406探測(cè)包括所選擇的規(guī)則的規(guī)則違反圖的不同候選子集。其首先從該規(guī)則集中移除至少優(yōu)選的規(guī)則81,并且探測(cè)候選集?1^2^1’^3’。圖10示出了針對(duì)候選集?1^2^1’^3’的損壞規(guī)則集圖(為方便起見(jiàn),未再次示出根節(jié)點(diǎn))。該圖具有一致的標(biāo)記,意味著移除規(guī)則Si損壞了該規(guī)則集,并且該規(guī)則集不處理與原始規(guī)則集相同的情形并且不做出與原始規(guī)則集相同的決策。因此,不能從該規(guī)則集中移除規(guī)則Si。
[0122]類(lèi)似地,如圖11所示,由于對(duì)應(yīng)的損壞規(guī)則集圖具有一致的標(biāo)記,規(guī)則g3’的暫時(shí)移除損壞了該規(guī)則集。圖11圖示針對(duì)規(guī)則項(xiàng)目2的四個(gè)規(guī)則pl、g2、gl’、Sl (g3’被移除)的候選集的被標(biāo)記損壞規(guī)則集圖。該規(guī)則集不處理與原始規(guī)則集相同的情形,并且不做出與原始規(guī)則集相同的決策。因此,不能從該規(guī)則集中移除規(guī)則g3’。
[0123]接著,違反集合最小化器406暫時(shí)移除規(guī)則gl’(在圖中未示出)。再次,所得的損壞規(guī)則集圖具有一致的標(biāo)記,表示gl’不能被移除,并且規(guī)則集p1、g2、g3’、Si不處理與原始規(guī)則集相同的情形,并且不做出與原始規(guī)則集相同的決策。
[0124]圖12圖示了候選規(guī)則集pl、gl’、g3’、sl (g2被移除)的被標(biāo)記損壞規(guī)則集圖658以及具有不一致的標(biāo)記的損壞規(guī)則集圖(參見(jiàn)具有三個(gè)“真”子節(jié)點(diǎn)的虛線圓假“或”節(jié)點(diǎn))。因此,規(guī)則g2是冗余的,并且能夠被移除。沖突集最小化器406因此將規(guī)則集縮減至p1、gl’、g3’、sl。因此,該損壞規(guī)則集圖僅具有不一致的標(biāo)記,并且說(shuō)明了該規(guī)則集處理與原始規(guī)則集相同的情形,并且做出與原始規(guī)則集相同的決策。
[0125]在最后步驟中,移除規(guī)則pi。候選規(guī)則集g2、gl’、g3’、sl具有能夠被正確標(biāo)記的損壞規(guī)則集圖(未示出)。因此,不能夠移除規(guī)則pl。
`[0126]因此沖突集最小化器406從圖12的損壞規(guī)則集圖返回規(guī)則pl、gl’、g3’、si的規(guī)則違反圖。
[0127]規(guī)則提取器410提取規(guī)則并且返回pl、gl’、g3’、Si作為無(wú)冗余規(guī)則集,該無(wú)冗余規(guī)則集表示與原始規(guī)則集2相同的決策策略。
[0128]如果損壞規(guī)則集圖求解器608運(yùn)行超時(shí),那么其不能夠示出當(dāng)前候選集合是否是被損壞的。由于損壞規(guī)則集求解器608不確定這一臨時(shí)縮減的規(guī)則集表示決策策略,它保持該縮減的規(guī)則集為損壞規(guī)則集,意味著它拒絕候選集合,即使它的損壞規(guī)則集圖不具有標(biāo)記。因此,超時(shí)進(jìn)而能夠?qū)е略家?guī)則集的非最小化縮減,但是不阻止冗余消除器移除冗余規(guī)則。
[0129]雖然規(guī)則集2的示例具有單個(gè)無(wú)冗余策略保留子集,但是諸如規(guī)則集3的其他規(guī)則集具有多個(gè)無(wú)冗余策略保留子集。沖突集最小化器406接著將會(huì)根據(jù)影響規(guī)則排序的規(guī)則之間的偏好,來(lái)選擇這些子集中的一個(gè)子集。例如,如果它使用規(guī)則排序sl、pl、g2、gl、g5、g3、g4、g6,它將返回子集s1、gl、g3、g5、pl。由于在該規(guī)則集中的所有規(guī)則均是冗余的,沖突集最小化器406將首先移除最不優(yōu)選的規(guī)則,即規(guī)則g6。類(lèi)似地,它將移除規(guī)則g4。然而,在縮減的規(guī)則集s1、pl、g2、gl、g5、g3中,規(guī)則gl、g5、g3不是冗余的,并且將不會(huì)被移除。沖突集最小化器406將進(jìn)一步移除g2并且保留Si和pl。冗余消除器400返回子集sl、pl、gl、g5、g3,作為表示與規(guī)則集3相同的決策策略的優(yōu)選無(wú)冗余子集。
[0130]由于規(guī)則集2和3非常小,違反集合最小化器406將最好執(zhí)行迭代的最小化方法,如上文詳細(xì)闡述的。對(duì)于包含許多冗余規(guī)則的大規(guī)則集,違反集合最小化器406將從中間分割那些集合,并且將冗余消除問(wèn)題劃分為兩個(gè)相同大小的子問(wèn)題。它重復(fù)該方法直到獲得小尺寸的子問(wèn)題,從而它通過(guò)迭代方法來(lái)更好地最小化。專利申請(qǐng)“Method and Systemfor Detecting Missing Rules with Most-General Conditions” 詳細(xì)描述了該違反集最小化策略。對(duì)于冗余消除,如果規(guī)則集包含許多冗余規(guī)則,該策略是令人感興趣的。如果規(guī)則從不同的源組裝并且由不同的規(guī)則作者寫(xiě)入,這尤其可能發(fā)生。因此本公開(kāi)內(nèi)容的冗余消除器400提供用于在這類(lèi)項(xiàng)目中的冗余消除的新視角。
[0131]現(xiàn)在說(shuō)明本發(fā)明進(jìn)一步的實(shí)施例。
[0132]對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)明顯的是,本發(fā)明的優(yōu)選實(shí)施例的方法的全部或部分可以適當(dāng)?shù)厍矣行У乇惑w現(xiàn)在邏輯裝置或多個(gè)邏輯裝置中,包括被布置用于執(zhí)行該方法的步驟的邏輯元件,并且這樣的邏輯元件可以包括硬件部件、固件部件或者它們的組合。
[0133]對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)同樣清楚的是,根據(jù)本發(fā)明的優(yōu)選實(shí)施例的邏輯布置的全部或者部分可以適當(dāng)?shù)乇惑w現(xiàn)在包括用于執(zhí)行該方法的步驟的邏輯元件的邏輯裝置中,并且這樣的邏輯元件可以包括例如在可編程邏輯陣列或者專用集成電路中的諸如邏輯門(mén)的部件。這樣的邏輯布置可以進(jìn)一步被體現(xiàn)在使用例如虛擬硬件描述語(yǔ)言使得元件用于暫時(shí)或永久在這類(lèi)陣列或電路中建立邏輯結(jié)構(gòu),這些元件可以使用固定的或可傳輸?shù)妮d波媒介來(lái)存儲(chǔ)或傳輸。
[0134]將意識(shí)到,也可以在運(yùn)行在一個(gè)或多個(gè)處理器(圖中未示出)上的軟件中全部或部分地適當(dāng)執(zhí)行上文所描述的方法和布置,并且該軟件可以以在諸如磁盤(pán)或光盤(pán)等的任何合適的數(shù)據(jù)載波(圖中同樣未示出)上執(zhí)行的一個(gè)或多個(gè)計(jì)算機(jī)程序元件的形式來(lái)被提供。用于數(shù)據(jù)傳輸?shù)男诺李?lèi)似地可以包括所有描述的存儲(chǔ)媒介以及信號(hào)攜帶媒介,例如有線或無(wú)線的信號(hào)攜帶媒介。
[0135]本發(fā)明可以進(jìn)一步適當(dāng)?shù)乇惑w現(xiàn)為用于與計(jì)算機(jī)系統(tǒng)一起使用的計(jì)算機(jī)程序產(chǎn)品。這樣的實(shí)施方式可以包括一系列計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令或者固定在諸如計(jì)算機(jī)可讀介質(zhì)(例如磁帶、CD-ROM、ROM或硬盤(pán))的有形介質(zhì)上,或者使用調(diào)制解調(diào)器或其它接口設(shè)備通過(guò)有形介質(zhì)、或使用無(wú)線技術(shù)無(wú)形地可傳輸至計(jì)算機(jī)系統(tǒng),該有形介質(zhì)包括但不限于光或模擬通信線路,該無(wú)線技術(shù)包括但不限于微波、紅外或其它傳輸技術(shù)。該系列的計(jì)算機(jī)可讀指令體現(xiàn)本文中之前所描述的全部或部分功能。
[0136]本領(lǐng)域技術(shù)人員將意識(shí)到,這類(lèi)計(jì)算機(jī)可讀指令能夠通過(guò)用于許多計(jì)算機(jī)架構(gòu)或操作系統(tǒng)一起使用的許多編程語(yǔ)言來(lái)撰寫(xiě)。進(jìn)一步地,可以使用現(xiàn)有或?qū)?lái)的任何存儲(chǔ)技術(shù)來(lái)存儲(chǔ)這類(lèi)指令,存儲(chǔ)技術(shù)包括但不限于半導(dǎo)體、磁、光,或者,可以使用任何現(xiàn)有或?qū)?lái)的傳輸技術(shù)來(lái)傳輸這類(lèi)指令,傳輸技術(shù)包括但不限于光、紅外或微波。可以認(rèn)識(shí)到這類(lèi)計(jì)算機(jī)程序產(chǎn)品可作為具有附加打印或電子文檔的可移除介質(zhì)來(lái)分發(fā),例如由計(jì)算機(jī)系統(tǒng)預(yù)先加載在例如系統(tǒng)ROM或固定磁盤(pán)上的緊密封裝的軟件,或者從服務(wù)器或電子公告板通過(guò)例如因特網(wǎng)或者萬(wàn)維網(wǎng)的網(wǎng)絡(luò)來(lái)分發(fā)。
[0137]備選地,可以以部署服務(wù)的計(jì)算機(jī)實(shí)現(xiàn)方法的形式來(lái)實(shí)現(xiàn)本發(fā)明的優(yōu)選實(shí)施例,部署服務(wù)包括部署計(jì)算機(jī)程序代碼的步驟,該計(jì)算機(jī)程序代碼在被部署到計(jì)算機(jī)基礎(chǔ)架構(gòu)中并且被執(zhí)行時(shí),使得計(jì)算機(jī)系統(tǒng)執(zhí)行本方法的所有步驟。
[0138]在進(jìn)一步的備選中,可以以在其上具有功能數(shù)據(jù)的數(shù)據(jù)載波的形式來(lái)實(shí)現(xiàn)本發(fā)明的優(yōu)選實(shí)施例,所述功能數(shù)據(jù)包括功能性的計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu),以在被加載到計(jì)算機(jī)系統(tǒng)并且進(jìn)而在其上操作時(shí),使得所述計(jì)算機(jī)系統(tǒng)能夠執(zhí)行本方法的所有步驟。
[0139]對(duì)于本領(lǐng)域技術(shù)人員將清楚的是,在不脫離本發(fā)明的范圍的情況下,能夠?qū)χ暗氖纠詫?shí)施例做出許多改進(jìn)和修改。
【權(quán)利要求】
1.一種用于最小化規(guī)則集的方法,包括: 構(gòu)建規(guī)則集應(yīng)用圖,所述規(guī)則集應(yīng)用圖描述包括動(dòng)作和情形的規(guī)則集,其中每個(gè)規(guī)則定義針對(duì)一個(gè)或多個(gè)情形的動(dòng)作; 針對(duì)每個(gè)規(guī)則構(gòu)建規(guī)則違反圖,所述規(guī)則違反圖描述沒(méi)有為該規(guī)則定義的動(dòng)作和情形;以及 通過(guò)探測(cè)所述規(guī)則集中足夠用于再生成原始規(guī)則集的行為的候選子集,來(lái)確定規(guī)則子集,所述規(guī)則子集具有縮減數(shù)量的規(guī)則,具有與所述規(guī)則集應(yīng)用圖相同的動(dòng)作和情形的集口 O
2.根據(jù)權(quán)利要求1所述的方法,其中所述確定步驟包括從包括沒(méi)有為該規(guī)則子集定義的動(dòng)作和情形的所述規(guī)則違反圖構(gòu)建規(guī)則違反圖候選子集,并且進(jìn)一步確定未由每個(gè)規(guī)則違反圖候選子集定義的那些動(dòng)作和情形是否與由所述規(guī)則集應(yīng)用圖定義的動(dòng)作和情形不同。
3.根據(jù)權(quán)利要求2所述的方法,其中所述方法進(jìn)一步包括確定多于一個(gè)的有效縮減規(guī)則子集,并且使用規(guī)則之間的偏好來(lái)選擇優(yōu)選的有效縮減規(guī)則子集。
4.根據(jù)權(quán)利要求2所述的方法,其中所述進(jìn)一步確定包括:通過(guò)結(jié)合所述規(guī)則集應(yīng)用圖和相應(yīng)的規(guī)則集違反圖候選子集來(lái)構(gòu)建相應(yīng)的損壞規(guī)則集圖;以及針對(duì)邏輯一致性來(lái)測(cè)試每個(gè)損壞規(guī)則集圖。
5.根據(jù)權(quán)利要求4所述的方法,其中規(guī)則集能夠定義多于一個(gè)的對(duì)象,其中所述構(gòu)建損壞規(guī)則集圖包括針對(duì)由所述規(guī)則集定義的每個(gè)對(duì)象來(lái)構(gòu)建損壞規(guī)則集圖實(shí)例。
6.根據(jù)權(quán)利要求1到5中的任一項(xiàng)所述`的方法,進(jìn)一步包括:標(biāo)識(shí)其中規(guī)則的所述動(dòng)作獨(dú)立于所述規(guī)則的所述情形的所述規(guī)則;以及忽略在所述規(guī)則應(yīng)用圖和規(guī)則違反圖中所標(biāo)識(shí)的動(dòng)作。
7.一種用于最小化規(guī)則集的系統(tǒng),包括: 用于構(gòu)建規(guī)則集應(yīng)用圖的建模器,所述規(guī)則集應(yīng)用圖描述包括動(dòng)作和情形的規(guī)則集,其中每個(gè)規(guī)則定義針對(duì)一個(gè)或多個(gè)情形的動(dòng)作; 用于針對(duì)每個(gè)規(guī)則構(gòu)建規(guī)則違反圖的建模器,所述規(guī)則違反圖描述沒(méi)有為該規(guī)則定義的動(dòng)作和情形;以及 問(wèn)題解決引擎,用于通過(guò)探測(cè)所述規(guī)則集中足夠用于再生成原始規(guī)則集的行為的候選子集來(lái)確定規(guī)則子集,所述規(guī)則子集具有縮減數(shù)量的規(guī)則,具有與所述規(guī)則集應(yīng)用圖相同的動(dòng)作和情形的集合。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述問(wèn)題解決引擎包括:構(gòu)建裝置,用于從包括沒(méi)有為該規(guī)則子集定義的動(dòng)作和情形的所述規(guī)則違反圖構(gòu)建規(guī)則違反圖候選子集,并且進(jìn)一步包括確定裝置,用于確定未針對(duì)每個(gè)規(guī)則違反圖候選子集而定義的那些動(dòng)作和情形是否與由所述規(guī)則集應(yīng)用圖定義的動(dòng)作和情形不同。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),進(jìn)一步包括確定裝置,用于確定多于一個(gè)的有效縮減規(guī)則集,并且使用規(guī)則之間的偏好來(lái)選擇優(yōu)選的有效縮減規(guī)則子集。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),進(jìn)一步包括:構(gòu)建裝置,用于通過(guò)結(jié)合所述規(guī)則集應(yīng)用圖和相應(yīng)的規(guī)則集違反圖候選子集來(lái)構(gòu)建相應(yīng)的損壞規(guī)則集圖;以及測(cè)試裝置,用于針對(duì)邏輯一致性來(lái)測(cè)試所述損壞規(guī)則集圖。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中規(guī)則集能夠定義多于一個(gè)的對(duì)象,其中所述構(gòu)建損壞規(guī)則集圖包括針對(duì)由所述規(guī)則集定義的每個(gè)對(duì)象來(lái)構(gòu)建損壞規(guī)則集圖實(shí)例。
12.根據(jù)權(quán)利要求7到11任一項(xiàng)所述的系統(tǒng),進(jìn)一步包括:標(biāo)識(shí)裝置,用于標(biāo)識(shí)其中規(guī)則的所述動(dòng)作獨(dú)立于所述規(guī)則的所述情形的所述規(guī)則;以及忽略裝置,用于忽略在所述規(guī)則集應(yīng)用圖和規(guī)則違反圖中所標(biāo)識(shí)動(dòng)作。
13.根據(jù)權(quán)利要求7到12中的任一項(xiàng)所述的系統(tǒng),其中所述系統(tǒng)是商業(yè)規(guī)則管理系統(tǒng)。
14.一種計(jì)算機(jī)程序產(chǎn)品,包括具有在其上存儲(chǔ)的計(jì)算機(jī)可讀代碼的計(jì)算機(jī)可讀記錄介質(zhì),所述計(jì)算機(jī)可讀代碼用于最小化規(guī)則集,所述計(jì)算機(jī)可讀代碼在被加載到計(jì)算機(jī)系統(tǒng)上并且被運(yùn)行時(shí),執(zhí)行以下步驟: 構(gòu)建規(guī)則集應(yīng)用圖,所述規(guī)則集應(yīng)用圖描述包含動(dòng)作和情形的規(guī)則集,其中每個(gè)規(guī)則定義用于一個(gè)或多個(gè)情形的動(dòng)作; 針對(duì)每個(gè)規(guī)則構(gòu)建規(guī)則違反圖,所述規(guī)則違反圖描述沒(méi)有為該規(guī)則定義的動(dòng)作和情形;以及 通過(guò)探測(cè)所述規(guī)則集中足夠用于再生成原始規(guī)則集的行為的候選子集,來(lái)確定規(guī)則子集,所述規(guī)則子集具有縮減數(shù)量的規(guī)則,具有與所述規(guī)則集應(yīng)用圖相同的動(dòng)作和情形的集入口 ο
15.一種存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上并且可加載到數(shù)字計(jì)算機(jī)的內(nèi)部存儲(chǔ)器中的計(jì)算機(jī)程序,包括軟件代碼部分,·當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí),用于執(zhí)行根據(jù)權(quán)利要求1到6中任一項(xiàng)所述的方法。
【文檔編號(hào)】G06F17/00GK103827853SQ201280046942
【公開(kāi)日】2014年5月28日 申請(qǐng)日期:2012年9月19日 優(yōu)先權(quán)日:2011年9月29日
【發(fā)明者】U·瓊克 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司