TW201339857A - Detecting cases with conflicting rules - Google Patents

Detecting cases with conflicting rules Download PDF

Info

Publication number
TW201339857A
TW201339857A TW101145170A TW101145170A TW201339857A TW 201339857 A TW201339857 A TW 201339857A TW 101145170 A TW101145170 A TW 101145170A TW 101145170 A TW101145170 A TW 101145170A TW 201339857 A TW201339857 A TW 201339857A
Authority
TW
Taiwan
Prior art keywords
rules
cases
conflicting
family
rule
Prior art date
Application number
TW101145170A
Other languages
Chinese (zh)
Inventor
Ulrich M Junker
Olivier Lhomme
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201339857A publication Critical patent/TW201339857A/en

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

A method, system and computer program product for managing condition action rules comprising: a treated case modeler for building a family of cases that make some rules applicable; a conflict detector for iteratively building and testing subsets of cases of the family searching for cases with conflicting decisions in order to locate a subset of cases that all have conflicting decisions. The conflict detector is further adapted for eliminating subsets of cases that have all non-conflicting decisions. The conflict detector is further adapted for distinguishing conflicting decisions from unrelated decisions and thus avoids the reporting of false conflicts.

Description

以衝突規則偵測案件 Detecting cases with conflict rules

本發明大體上係關於規則管理系統,且具體言之,係關於用於在規則管理系統中以衝突規則計算案件之方法及裝置。 The present invention relates generally to a rule management system and, in particular, to a method and apparatus for calculating a case in a rule management system with conflicting rules.

商業規則管理(BRM)技術係關於商業問題(諸如,貸款核准、保險索賠處理或客戶忠誠度計劃)中之決策制定自動化的領域。實施商業規則管理系統(BRMS)以與規則專案(rule project)合作。BRMS允許以受控之類自然語言進行之規則編輯,其使得易於在無關於產生規則之特定知識的情況下使用。規則可以不同版本保持於規則儲存庫中。BRMS進一步允許藉由規則引擎來執行規則,規則引擎亦執行用於偵測衝突規則、冗餘規則及遺漏規則之規則分析。另一特徵為藉由測試及模擬進行之規則驗證。 Business Rule Management (BRM) technology is an area of automation for decision making in business issues such as loan approvals, insurance claims processing, or customer loyalty programs. Implement a Business Rule Management System (BRMS) to work with the rule project. BRMS allows for rule editing in a natural language like control, which makes it easy to use without the specific knowledge of the rules. Rules can be kept in the rule repository in different versions. The BRMS further allows rules to be enforced by the rules engine, which also performs rule analysis for detecting conflict rules, redundancy rules, and missing rules. Another feature is rule verification by testing and simulation.

商業規則為表示用於取決於給定案件而制定決策之決策制定原則的便利方式。案件通常由特徵之組合組成,且決策可為基本選擇之組合。商業規則藉由將動作應用於給定案件來制定決策。商業規則無法處置所有案件,而是僅處置滿足條件之案件。商業規則因此由條件及動作組成,條件通常為測試之組合,動作可由一序列基本步驟組成。因為商業規則僅處理某些案件,所以商業規則僅定義整個決策制定程序的一部分。需要其他商業規則來為剩餘案件制定決策。若給定商業規則為每一相關案件制定決策,則規 則之此集合完整。否則,規則將未處理每個案件,且需要添加其他規則來使規則完整。 Business rules are a convenient way to represent decision making principles that are used to make decisions that depend on a given case. A case is usually composed of a combination of features, and the decision can be a combination of basic choices. Business rules make decisions by applying actions to a given case. Business rules cannot handle all cases, but only those that meet the conditions. Business rules are therefore made up of conditions and actions, usually a combination of tests, and actions can consist of a sequence of basic steps. Because business rules only deal with certain cases, business rules only define a part of the overall decision making process. Other business rules are needed to make decisions for the remaining cases. If a business rule gives a decision for each relevant case, then Then this collection is complete. Otherwise, the rule will not process each case and additional rules need to be added to make the rule complete.

針對諸如保險索賠處理、貸款核准或對購物車之折扣計算之問題的決策自動化在於以一致且可預測方式為大量案件制定決策。經由包含將每一可能案件映射至一單一決策之商業規則之商業原則達成決策自動化。商業規則提供表示為互異及複雜形式之案件制定決策的複雜原則之便利方式。每一規則表示原則之一獨立部分且為案件之一子集制定決策。商業規則由條件及動作組成,該條件描述藉由規則處理之案件,該動作由為案件制定決策之操作組成。因為案件可為複雜的且由不同物件(諸如,購物車中之不同項目)組成,所以商業規則可僅處理案件之選定物件,且因此具有描述商業規則可處理之物件的種類之範疇。複雜原則因此可以簡單方式藉由商業規則集合表示。 Automated decision making for issues such as insurance claim processing, loan approval, or discount calculations for shopping carts is to make decisions for a large number of cases in a consistent and predictable manner. Automated decision making is achieved through business principles that include business rules that map every possible case to a single decision. Business rules provide a convenient way to express complex principles for making decisions in mutually exclusive and complex forms. Each rule represents an independent part of the principle and makes decisions for a subset of the case. Business rules consist of conditions and actions that describe cases handled by rules that consist of actions that make decisions for the case. Because the case can be complex and consists of different items, such as different items in a shopping cart, the business rules can only process selected items of the case, and thus have categories that describe the types of items that the business rules can handle. The complex principle can therefore be represented in a simple way by a set of business rules.

因為存在依據規則表示原則之眾多方式,所以額外準則為必要的,以判定用於決策自動化之良好表示。首先,保持表示可管理且儘可能小為重要的。可藉由使規則儘可能地一般化及藉由避免冗餘規則來減少規則之數目。其次,不同規則應獨立於彼此以便促進歸因於商業原則之改變而進行的規則之修改。若商業原則對於某一案件改變了,則商業使用者需要使處理此案件之所有規則適應於新原則。若規則重疊,則原則改變可能需要修改若干規則。在重疊係歸因於規則儘可能地一般化之事實的情況下,規則編輯中之此耗用為可接受的。然而,在存在可移除而不會改變 規則集合之決策制定行為之冗餘規則的情況下,該耗用為不可接受的。 Because there are many ways to express principles based on rules, additional criteria are necessary to determine good representations for decision automation. First, it's important to keep the representation manageable and as small as possible. The number of rules can be reduced by making the rules as general as possible and by avoiding redundant rules. Second, different rules should be independent of each other in order to facilitate the modification of rules that are attributed to changes in business principles. If the business principle changes for a particular case, the business user needs to adapt all the rules for handling the case to the new principles. If the rules overlap, the principle change may require modification of several rules. In the case where the overlap is due to the fact that the rules are as general as possible, this consumption in rule editing is acceptable. However, there is no change in existence but no change In the case of a redundant rule of decision making behavior of a set of rules, the consumption is unacceptable.

決策原則定義將為哪個案件制定哪個決策。決策原則為具有相同特性之所有案件制定相同決策,且因此保證決策制定程序之一致性的基本形式。此情形對於諸如保險索賠處理、貸款核准或折扣判定之問題而言為重要的,該等問題皆涉及基於常規而處理大量案件。此等案件中之若干案件可具有相同特性,且彼等案件之決策的比較原則上可為可能的。彼等案件之一致處理因此對於達成可預測行為,對於使決策制定程序自動化及對於滿足客戶群而言為重要的。 The decision-making principle defines which decision will be made for which case. The principle of decision making sets the same decision for all cases with the same characteristics, and thus guarantees the basic form of consistency in the decision making process. This situation is important for issues such as insurance claim processing, loan approval or discount determination, all of which involve processing a large number of cases based on routines. Some of these cases may have the same characteristics and the comparison of decisions in their cases may in principle be possible. The consistent handling of their cases is therefore important for achieving predictable behavior, automating the decision making process and meeting the customer base.

決策制定問題之案件通常藉由具有多個屬性之多個物件來特徵化,此情形意謂決策原則為自多維案件空間至決策集合之映射。若此複雜原則由僅取決於一些屬性但不取決於所有屬性之不同部分組成,則每一部分可藉由產生規則(或條件-動作規則)表示。產生規則由條件及動作組成,該條件描述藉由規則處理之案件,該動作由為案件制定決策之操作組成。此外,規則具有定義藉由規則查驗(或匹配)案件之哪些物件的範疇。鑒於案件可由無限數目個物件(諸如,購物車中之不同項目)組成,規則將僅處理案件之固定數目個物件。 Cases of decision making problems are often characterized by multiple objects with multiple attributes, which means that the decision principle is a mapping from a multidimensional case space to a decision set. If this complex principle consists of different parts that depend only on some attributes but not on all attributes, each part can be represented by a generation rule (or condition-action rule). The production rule consists of conditions and actions that describe the case handled by the rule, which consists of the operation of making decisions for the case. In addition, the rules have a scope that defines which objects of the case are checked (or matched) by the rules. Since the case can consist of an unlimited number of items (such as different items in a shopping cart), the rule will only process a fixed number of items in the case.

規則集合因此提供表示用於複雜案件之決策原則的便利方式。鑒於每一決策原則可藉由某一規則集合表示,並非每個規則集合皆表示一有效決策原則。詳言之,可存在為 相同案件制定不同決策之規則,且此等決策可相衝突。舉例而言,在存在藉由兩個規則處理之某一案件的情況下,接受貸款之規則與拒絕貸款之規則相衝突。彼等規則之決策相衝突,此係因為不可能既接受又拒絕相同貸款請求。此情形意謂無法以使得兩個決策對於案件而言皆有效的方式配置事物。 The set of rules thus provides a convenient way of representing the principles of decision making for complex cases. Since each decision principle can be represented by a set of rules, not every rule set represents an effective decision principle. In detail, it can exist as The same case sets the rules for different decisions, and these decisions can conflict. For example, in the case of a case handled by two rules, the rules for accepting a loan conflict with the rules for refusing a loan. The decisions of their rules conflict, because it is impossible to accept and reject the same loan request. This situation means that things cannot be configured in such a way that both decisions are valid for the case.

鑒於諸如貸款核准之問題由制定單一決策之操作組成,諸如保險索賠處理之其他問題可涉及多個決策,亦即,保險索賠之接受或拒絕及損壞量的判定。接受保險索賠之規則及判定損壞量之規則制定不同決策,但此等決策不相衝突。有可能以使得兩個決策皆有效的方式來配置事物。實際上,兩個決策獨立於彼此且關注總體問題之不同態樣。此情形對於接受保險索賠之規則及拒絕相同保險索賠之規則而言不成立。彼等規則具有衝突決策。 Given that issues such as loan approval are made up of operations that make a single decision, other issues such as insurance claim processing can involve multiple decisions, that is, acceptance or rejection of an insurance claim and determination of the amount of damage. The rules governing insurance claims and the rules for determining the amount of damage make different decisions, but these decisions are not in conflict. It is possible to configure things in such a way that both decisions are valid. In fact, the two decisions are independent of each other and focus on the different aspects of the overall problem. This situation does not hold true for rules that accept insurance claims and rules that reject the same insurance claim. Their rules have conflicting decisions.

此論述展示需要額外知識來判定在規則制定多個決策的情況下不同決策是否相衝突。存在提供關於衝突決策之知識的不同方式。可藉由規則集合之適當結構化或規則動作之適當表示以隱含形式給出知識。在良好結構化之規則集合中,將規則封裝成不同群組以使得一群組之規則關注一單一決策。群組之規則因此制定相同決策之替代選擇,且若群組中之兩個規則為相同案件制定不同決策,則該兩個規則相衝突。然而,大體而言,未給出此良好訓練之結構化。若以將值指派給物件之屬性的形式表示規則動作,則兩個規則在且僅在其將不同值指派給相同物件之相同屬性 的情況下具有衝突決策。因此,動作之形式使得能夠進行衝突之偵測。對於剛好可藉由應用於一些引數之某一方法來描述的動作之更一般且抽象形式而言,此情形不再為可能的。因為彼等方法構成抽象行為描述,所以需要顯式知識來宣告哪些方法制定衝突決策。 This discussion demonstrates the need for additional knowledge to determine whether different decisions conflict when rules make multiple decisions. There are different ways of providing knowledge about conflict decisions. Knowledge can be given in implicit form by appropriate structuring of the set of rules or appropriate representation of the regular actions. In a well structured set of rules, the rules are encapsulated into different groups such that the rules of a group focus on a single decision. The rules of the group thus make an alternative to the same decision, and if the two rules in the group make different decisions for the same case, the two rules conflict. However, in general, the structuring of this good training is not given. If a rule action is represented in the form of assigning a value to an object's attributes, then the two rules are in and only assign the same value to the same object for the same object. The case has conflicting decisions. Therefore, the form of the action enables the detection of conflicts. This situation is no longer possible for a more general and abstract form of an action that can be described by a method applied to some of the arguments. Because they constitute abstract behavioral descriptions, explicit knowledge is needed to declare which methods make conflicting decisions.

用於分析規則集合之一致性的一般系統因此必須能夠處理制定藉由任意形式之動作制定而不管該等動作是藉由具體指派抑或藉由抽象方法調用表示的多個決策之規則。此系統必須區別制定衝突決策之規則與制定不同但不相關決策之規則。出於此目的,規則分析器需要考慮衝突動作。此外,規則製作者不必需要知曉哪些規則相衝突,但必須找出發生此等衝突之案件。一致性分析器因此必須能夠特徵化且報告具有衝突規則之案件。彼等案件之描述提供允許規則製作者修改規則集合以便確保一致決策制定之關鍵資訊。舉例而言,規則製作者可添加起仲裁者作用且強加用於彼等案件之較佳決策的具高優先權之規則,同時保持現有規則不改變。 The general system for analyzing the consistency of a set of rules must therefore be able to handle the rules that are formulated by any form of action regardless of whether the actions are represented by a specific assignment or by an abstract method call. This system must distinguish between rules for making conflict decisions and rules for making different but unrelated decisions. For this purpose, the rule analyzer needs to consider conflicting actions. In addition, rule makers do not have to know which rules conflict, but must identify the case in which such conflicts occur. The consistency analyzer must therefore be able to characterize and report cases with conflicting rules. The description of their case provides key information that allows the rule maker to modify the set of rules to ensure consistent decision making. For example, the rule maker may add a high priority rule that acts as an arbiter and imposes better decisions for their case while keeping the existing rules unchanged.

用於偵測衝突規則之現有系統及方法在一態樣或另一態樣中受限制。經典方法之一致性分析限於表示制定相同種類之決策的替代選擇之規則群組的決策表。舉例而言,美國專利5259066、美國專利7020869 B2、美國專利10639674及美國專利申請案2003/0018486 A1中所描述之方法報告在規則具有重疊條件但規則在其動作上不同之情況下的兩個規則之間的衝突。因為決策表完整地描述規則動作,所 以一旦兩個規則在某一動作行(或動作列,此取決於表之定向)中具有不同表輸入項,該等規則便具有衝突動作。理解出於上文所描述之原因此等方法不能夠找到屬於不同表之規則間的衝突係重要的。此外,彼等方法無法找到任意形式之規則之間的衝突。 Existing systems and methods for detecting conflicting rules are limited in one aspect or another. The consistency analysis of the classical approach is limited to a decision table that represents a set of rules for alternative selections that make the same kind of decision. For example, the methods described in U.S. Patent No. 5, 259, 066, U.S. Patent No. 7,020, 869 B2, U.S. Patent No. 10, 639, 674, and U.S. Patent Application Serial No. 2003/0018486 A1 report two rules in the case where the rules have overlapping conditions but the rules differ in their actions. The conflict between. Because the decision table completely describes the rule action, In the event that two rules have different table entries in an action row (or action column, depending on the orientation of the table), the rules have conflicting actions. It is understood that for the reasons described above, it is important that such methods are unable to find conflicts between rules belonging to different tables. In addition, their methods cannot find conflicts between rules of any kind.

Motoi Suwa、A.Carlisle Scott及Edward H.Shortliffe之文章「An Approach to Verifying Completeness and Consistency in a Rule-Based Expert System」中所描述的方法假定每一規則制定具有適當形式(亦即,將值指派給藉由規則匹配之物件的形式)之一單一決策。該方法接著根據規則之範疇(亦即,匹配之物件的類型)及藉由規則指派之屬性將規則分群。對於群組中之每一者,該方法建置表示群組之規則的決策表且接著尋找具有重疊條件及不同動作之列。因為方法假定規則動作具有指派之形式,所以無法找到具有抽象方法呼叫之形式的規則動作間的衝突。 The method described in the article "An Approach to Verifying Completeness and Consistency in a Rule-Based Expert System" by Motoi Suwa, A. Carlisle Scott, and Edward H. Shortliffe assumes that each rule has the appropriate form (ie, assigns values) A single decision in the form of an object that is matched by rules. The method then groups the rules according to the scope of the rules (i.e., the type of matching object) and the attributes assigned by the rules. For each of the groups, the method builds a decision table that represents the rules of the group and then looks for columns with overlapping conditions and different actions. Because the method assumes that the rule action has the form of an assignment, it is not possible to find a conflict between rule actions in the form of an abstract method call.

類似限制適用於偵測將不同值指派給相同屬性或參數之規則之間的衝突之方法。實例為美國專利公開案2007/0162966 A1之衝突檢查器及IBM WebSphere Ilog JRules BRMS 7.1之一致性分析器。彼等方法使用約束滿足技術來檢查是否存在滿足具有衝突指派之兩個規則的條件之案件。儘管彼等分析器能夠找到具有任意條件之規則間的衝突,但該等分析器假定規則動作具有指派之形式。因為該等分析器不考慮關於衝突動作之知識,所以該等分析器不會找到以下兩者之間的衝突:藉由調用針對貸款物 件之方法「接受」來接受貸款的規則,與藉由調用針對相同貸款物件之方法「拒絕」來拒絕貸款的規則。 Similar restrictions apply to methods that detect conflicts between rules that assign different values to the same attribute or parameter. An example is the conflict checker of US Patent Publication 2007/0162966 A1 and the consistency analyzer of IBM WebSphere Ilog JRules BRMS 7.1. These methods use constraint satisfaction techniques to check for the existence of a condition that satisfies the conditions of the two rules with conflicting assignments. Although their parsers are able to find conflicts between rules with arbitrary conditions, the parsers assume that the rule action has the form of an assignment. Because the parsers do not consider knowledge about conflicting actions, the parsers will not find a conflict between the two: by calling the loan The method of "accepting" to accept the loan, and the rule of rejecting the loan by calling the method of "refusing" for the same loan object.

美國專利公開案12079021簡單地陳述:若兩個規則具有重疊(或匹配)條件及不同動作,則該等規則相衝突。彼等方法無法區別衝突規則與制定不相關但非衝突決策之規則。類似備註適用於非匯合分析,此係因為該備註為項目重寫系統所已知。非匯合分析可適應於產生規則以找到自相同初始狀態通向不同最終狀態之不同規則序列。然而,如上文所辯論,兩個最終狀態之差異未必意謂已藉由兩個規則序列制定衝突決策。在多決策問題中,有可能並非在每一序列中制定所有決策。因此,最終狀態可不同,此係由於在該等狀態中之一者中遺漏了一些決策。非匯合因此指示存在具有衝突決策之案件或具有遺漏決策之執行。單獨的非匯合分析因此不足以用於偵測具有衝突決策之案件。 U.S. Patent Publication No. 12079021 simply states that if two rules have overlapping (or matching) conditions and different actions, the rules conflict. These methods cannot distinguish between conflicting rules and rules that make irrelevant but non-conflicting decisions. Similar notes apply to non-convergence analysis because this note is known for project rewrite systems. Non-convergence analysis can be adapted to generate rules to find different rule sequences that lead from different initial states to different final states. However, as argued above, the difference between the two final states does not necessarily mean that conflict decisions have been made by two rule sequences. In a multi-decision problem, it is possible that not all decisions are made in each sequence. Therefore, the final state can be different due to some decisions being missed in one of the states. Non-convergence thus indicates the existence of a case with conflicting decisions or the execution of a missing decision. Separate non-confluent analysis is therefore not sufficient for detecting cases with conflicting decisions.

用於邏輯規則及預設規則之衝突偵測方法使用關於衝突結論(諸如,美國專利申請案2003/0023573中的互斥約束及Craven等人之文章「Expressive policy analysis with enhanced system dynamicity」中之模態衝突)之知識。鑒於此等約束之使用在邏輯規則系統中為自然的,使用該等約束以用於條件-動作規則之衝突分析會導致未藉由此等先前工作解決的額外困難。在邏輯架構中,易於累積在單一狀態下的多個規則之結論且將約束公佈於該等結論上。為了達成條件-動作規則之類似能力,需要精心設計規則動 作之適當邏輯表示。 The conflict detection method for logic rules and preset rules uses a model of conflicts (such as the mutual exclusion constraint in US Patent Application 2003/0023573 and the article "Expressive policy analysis with enhanced system dynamicity" by Craven et al. Knowledge of state conflicts. Given that the use of such constraints is natural in a logical rule system, the use of such constraints for conflict analysis of condition-action rules can result in additional difficulties not solved by such prior work. In a logical architecture, it is easy to accumulate the conclusions of multiple rules in a single state and publish constraints on those conclusions. In order to achieve the similar ability of the condition-action rules, it is necessary to carefully design the rules. The appropriate logical representation.

現有做法之此查核因此表明不存在找到具有任意形式之條件及動作的規則間的衝突之方法及系統。此外,用於偵測衝突規則之現有方法假定藉由修改兩個衝突規則中之一者或兩者來解決衝突。因此,該等方法著重於關於偵測規則間的衝突之問題。 This check of existing practices thus indicates that there is no method and system for finding conflicts between rules with arbitrary forms of conditions and actions. Furthermore, existing methods for detecting conflict rules assume that conflicts are resolved by modifying one or both of the two conflicting rules. Therefore, these methods focus on the issue of detecting conflicts between rules.

描述問題之實例。Fair Credits Inc.之分析員Alan撰寫了在貸款金額至多$600k且負債比率至多35%的情況下接受貸款之規則。Fair Credits之審閱員Ryan撰寫了在金額大於$300k且負債比率大於30%的情況下拒絕貸款之規則。客戶Jim的以32%之負債比率對$500k之請求被接受。客戶Jane的以32%之負債比率對$500k之請求被拒絕。記者Mary以及Jim及Jane的朋友發佈了關於Fair Credits之不公平客戶處理的文章。Fair Credits在股票市場損失20%。 Describe an example of a problem. Alan, an analyst at Fair Credits Inc., wrote a rule for accepting loans with a loan amount of up to $600k and a debt ratio of up to 35%. Fairyans reviewer Ryan wrote a rule for refusing loans when the amount is greater than $300k and the debt ratio is greater than 30%. Customer Jim's request for a $500k with a 32% debt ratio was accepted. Customer Jane's request for a $500k with a 32% debt ratio was rejected. Reporter Mary and friends from Jim and Jane posted articles about Fair Credits' unfair customer processing. Fair Credits lost 20% in the stock market.

Fair Credits主管請求商業規則管理系統(BRMS)管理員Bob報告具有衝突決策之所有案件。Bob未在BRMS工具中找到報告特徵,且甚至衝突規則分析亦未報告問題。Bob得出結論:BRMS工具具有嚴重限制。 The head of Fair Credits asked the Business Rules Management System (BRMS) administrator Bob to report all cases with conflicting decisions. Bob did not find the report characteristics in the BRMS tool, and even the conflict rule analysis did not report the problem. Bob concluded that the BRMS tool has serious limitations.

此等參照案中無一者展示如何計算具有衝突決策之案件的家族。 None of these references shows how to calculate a family of cases with conflicting decisions.

在本發明之一第一態樣中,提供一種用於管理條件動作規則之方法,該方法包含:建置使一些規則適用之案件的一家族;針對具有衝突決策之案件反覆地建置且測試該家 族之案件的子集,以便定位皆具有衝突決策之案件的一子集。 In a first aspect of the present invention, a method for managing a conditional action rule is provided, the method comprising: constructing a family of cases for which some rules apply; repeatedly establishing and testing for cases with conflicting decisions The home A subset of the family case in order to locate a subset of cases that all have conflicting decisions.

在僅存在案件之以下兩種類型之集合的情況下,該方法對於規則管理系統而言將為容易的:所有案件僅具有衝突決策之類型1)集合;及所有案件僅具有非衝突決策之類型2)集合。然而,事實上,大多數集合具有具衝突決策之案件及具有非衝突決策之案件(類型3),且必須經進一步分解以便將其分類為僅具有衝突或僅具有非衝突。上述解決方案及較佳實施例之解決方案將每一類型3集合分解成較小子集且反覆地重複此分解直至該等子集為類型1或類型2中之任一者為止。有利地,該方法進一步包含消除具有所有非衝突決策之案件的子集。 In the case where there are only two sets of the following types of cases, the method would be easy for the rule management system: all cases have only type 1) of conflicting decisions; and all cases have only non-conflicting decision types 2) Collection. However, in fact, most collections have cases with conflicting decisions and cases with non-conflicting decisions (type 3) and must be further broken down to classify them as having only conflicts or only non-conflicting. The solution of the above solution and preferred embodiment decomposes each type 3 set into smaller subsets and repeats the decomposition over and over until the subsets are either type 1 or type 2. Advantageously, the method further comprises eliminating a subset of cases having all non-conflicting decisions.

在本發明之該上述態樣中,使用術語「決策」,而在本發明之實施例及其他態樣中,藉由合適調整使用術語「動作」。一規則之決策與所採取之動作直接有關,例如,對貸款錢之決策與貸款錢之動作直接有關。 In the above aspect of the invention, the term "decision" is used, and in the embodiments and other aspects of the invention, the term "action" is used by appropriate adjustment. The decision of a rule is directly related to the action taken. For example, the decision on the loan money is directly related to the action of the loan money.

將該建置任務公式化為邏輯可滿足性問題,其中將對衝突之測試公式化為一邏輯不可滿足性問題。 The implementation task is formulated into a logical satisfiability problem, in which the test of the conflict is formulated into a logical unsatisfiability problem.

更有利地,使用基於約束之技術將案件之該家族及該子集模型化。本發明實施例使用邏輯及基於約束之可滿足性技術以用於檢查是否可同時滿足任意形式之兩個條件。 More advantageously, the family of the case and the subset are modeled using a constraint-based technique. Embodiments of the present invention use logic and constraint-based satisfiability techniques for checking whether two conditions of any form can be satisfied at the same time.

此方法能夠處理制定多個決策之規則。若為相同物件制定不同種類之決策(諸如,接受或拒絕一保險索賠及判定該保險索賠之損壞量)或為多個物件制定相同種類之決 策,則出現多個決策。 This method can handle the rules for making multiple decisions. If different types of decisions are made for the same item (such as accepting or rejecting an insurance claim and determining the amount of damage to the insurance claim) or making the same type of decision for multiple items Policy, there are multiple decisions.

較佳地,該方法進一步包含區別衝突決策與不相關決策,且因此避免假衝突之報告。該方法藉由執行規則動作之一適當分析同時考慮關於衝突決策之知識來達成此重要篩選。只要每一規則制定整個決策,該所揭示方法便達成對任意形式之條件-動作規則的此分析。 Preferably, the method further comprises distinguishing between conflicting decisions and irrelevant decisions, and thus avoiding reporting of false conflicts. The method achieves this important screening by performing an appropriate analysis of one of the rule actions while considering knowledge about conflicting decisions. As long as each rule makes the entire decision, the disclosed method achieves this analysis of any form of condition-action rules.

更佳地,該方法進一步包含定義具有衝突決策之該等案件的一子集,以使得一新規則使用該定義且消除該衝突。該等衝突決策為藉由多個規則以不同方式處理之彼等案件。該方法因此給出關於規則集合之決策制定行為中的不一致性之基本形式的一簡明報告。此報告解釋:若將該規則集合應用於該報告中所列出之案件,則該規則集合將不制定一清楚決策。該所揭示方法產生呈類似案件之家族之形式的具有衝突決策之該等案件的一緊湊描述。此描述促進設法藉由添加充當仲裁者之規則建立一一致決策制定行為的一規則制定者之任務。舉例而言,該規則制定者可創建處理具有衝突決策之案件的一家族且強加所要決策的具較高優先權之一規則。該方法因此展示如何計算允許一規則製作者建立一一致決策制定行為而無對現有規則之一冗長修復之重要資訊。 More preferably, the method further includes defining a subset of the cases with conflicting decisions such that a new rule uses the definition and eliminates the conflict. These conflicting decisions are those cases that are handled differently by multiple rules. The method thus gives a concise report of the basic form of inconsistency in the decision making behavior of the set of rules. This report explains that if the rule set is applied to the case listed in the report, the rule set will not make a clear decision. The disclosed method produces a compact description of such cases with conflicting decisions in the form of a family of similar cases. This description promotes the task of a rule-maker who seeks to establish a consistent decision-making behavior by adding rules that act as arbiters. For example, the rule maker can create a family with a higher priority that processes a family of cases with conflicting decisions and imposes the desired decision. The method thus shows how to calculate important information that allows a rule maker to establish a consistent decision making behavior without lengthy repairs to one of the existing rules.

為了找到具有衝突決策之案件,該方法使用關於制定衝突決策之規則動作的知識。可以不同形式給出此知識。最顯式形式為陳述某些動作不相容之公理的形式。舉例而言,接受一貸款之動作與拒絕相同貸款之動作不相容。亦 可以一決策之一定義的形式提供此知識,該定義描述該決策之範疇(亦即,該決策所應用於之物件的類型)且列出用於制定此決策之替代動作(諸如,接受或拒絕一貸款)。亦可以一物件模型之方法之性質(諸如,表示一setter-方法在應用於相同物件的情況下必將產生不同結果之性質)的形式給出該知識。 In order to find cases with conflicting decisions, the method uses knowledge about the rules actions for making conflict decisions. This knowledge can be given in different forms. The most explicit form is the form of an axiom that states that certain actions are incompatible. For example, the act of accepting a loan is incompatible with the act of rejecting the same loan. also This knowledge may be provided in a form defined by one of the decisions that describes the scope of the decision (ie, the type of object to which the decision applies) and lists alternative actions (such as accepting or rejecting) used to make this decision. a loan). It is also possible to give this knowledge in the form of the nature of the method of an object model, such as the nature of a setter-method that would necessarily produce different results if applied to the same object.

然而,該方法並不需要該等規則動作之一詳細模型(諸如,實施諸如在該等規則動作中出現之「接受貸款」之抽象方法呼叫的一Java程式碼之一模型)以便判定此等動作是否制定衝突決策。在給定關於不相容動作之知識的情況下,該方法執行一抽象層級上之一致性分析。 However, the method does not require a detailed model of one of the rule actions (such as implementing a model of a Java code such as an abstract method call for "accepting a loan" that occurs in the rule action) to determine such actions Whether to make conflict decisions. Given the knowledge of incompatible actions, the method performs an consistency analysis at an abstraction level.

可能發生以下情形:關於不相容動作之知識不完整。甚至在此情形下,所報告之問題有效。若擴展(或改進)此知識,則該方法可判定具有衝突決策之額外案件,但該等先前報告之問題在此額外知識下仍將保持有效。 The following may occur: Knowledge about incompatible actions is incomplete. Even in this case, the reported problem is valid. If this knowledge is extended (or improved), the method can determine additional cases with conflicting decisions, but such previously reported issues will remain valid with this additional knowledge.

該方法充分利用如在約束程式化及定理證明中精心設計之可滿足性技術來判定使至少兩個衝突規則適用之案件的一家族。本發明使用一產生與測試做法來判定具有衝突決策之案件的此家族。產生階段創建使某一規則適用之案件的一家族,而測試階段檢查此家族中之每一案件是否具有衝突決策。為了達成此情形,衝突檢查器試圖解算反向問題。該衝突檢查器判定該家族是否含有至少一案件以使得適用於此案件之規則的動作不會違反關於不相容動作之任何公理。若該家族含有該至少一案件,則該家族中之某些 案件不具有衝突決策,此情形意謂需要捨棄該家族之部分。若該家族不含有該至少一案件,則該給定家族之每一案件使至少兩個規則適用,且彼等規則之動作根據關於規則動作之給定知識不相容。因此,在此情形下偵測到具有衝突決策之案件的一家族。鑒於將產生任務公式化為一邏輯可滿足性問題,衝突檢查等同於一邏輯不可滿足性問題。 The method takes advantage of a satisfiable technique such as in constraint stylization and theorem proving to determine a family of cases in which at least two conflicting rules apply. The present invention uses a family that generates and tests practices to determine cases with conflicting decisions. The production phase creates a family of cases in which a rule applies, while the testing phase checks whether each case in the family has a conflicting decision. To achieve this, the conflict checker attempts to solve the reverse problem. The conflict checker determines if the family contains at least one case such that the action applicable to the rules of the case does not violate any axioms regarding incompatible actions. If the family contains at least one case, then some of the family The case does not have a conflict decision, which means that part of the family needs to be discarded. If the family does not contain the at least one case, then each case of the given family applies at least two rules, and the actions of those rules are incompatible according to the given knowledge about the action of the rules. Therefore, a family of cases with conflicting decisions is detected in this situation. Given the task of formulating a task as a logical satisfiability problem, conflict checking is equivalent to a logical unsatisfiability problem.

本發明之一第二態樣提供一種用於管理條件動作規則之方法,該方法包含:判定一規則集合中之規則的相容及不相容動作;建置用於測試該規則集合中之至少一規則的案件之一測試家族;判定該家族之案件的一相容子集以使得在該子集中應用適用規則僅導致相容動作;判定來自並非該相容子集之部分的該家族中之該等案件之一測試子集,藉此該測試子集中之該等案件中的一或多者具有與該規則集合中之該等規則之衝突動作的可能性;及在該測試子集中之所有該等案件具有衝突動作的情況下,判定該測試子集為一衝突子集,否則,定義具有該測試子集之一新測試家族且執行一新相容子集及一新測試子集的反覆判定直至一新測試子集經判定為相衝突為止。 A second aspect of the present invention provides a method for managing a conditional action rule, the method comprising: determining a compatible and incompatible action of a rule in a set of rules; and establishing at least one of the set of rules for testing Testing a family in one of the rule cases; determining a compatible subset of the family's case such that applying the applicable rules in the subset results in only a compatible action; determining that the family is from a portion that is not part of the compatible subset One of the cases tests a subset whereby one or more of the cases in the test subset have the possibility of conflicting actions with the rules in the set of rules; and all in the test subset Where the cases have conflicting actions, the test subset is determined to be a conflicting subset; otherwise, a new test family having one of the test subsets is defined and a new compatible subset and a new test subset are executed. It is determined that until a new test subset is determined to be in conflict.

該所揭示方法係重要的,此係因為該方法有助於達成一規則管理系統之決策一致性,亦即,該方法有助於確保相同案件接收相同決策。 The disclosed method is important because it helps to achieve decision consistency in a rule management system, that is, the method helps ensure that the same case receives the same decision.

此所揭示方法使商業使用者總體控制一決策管理平台且 將總體信任增加至系統中。 The disclosed method enables a business user to overall control a decision management platform and Add overall trust to the system.

較佳地,該方法進一步包含編譯案件之衝突子集及衝突動作的一報告。此解決方案代替衝突規則之一手動試誤分析及編輯。 Preferably, the method further comprises compiling a conflicting subset of the case and a report of the conflicting action. This solution replaces one of the conflicting rules with manual trial and error analysis and editing.

更佳地,案件之每一家族及子集藉由來自該規則集合之基元條件而特徵化。 More preferably, each family and subset of cases is characterized by primitive conditions from the set of rules.

合適地,該方法進一步包含判定用於添加至該規則集合以解決關於該衝突子集中之該等案件的該等衝突動作之至少一仲裁者規則。 Suitably, the method further comprises determining at least one arbitrator rule for adding to the set of rules to resolve the conflicting actions regarding the cases of the conflicting subset.

具有衝突決策之案件的一家族之該判定准許添加強制執行該所要決策之具較高優先權的一仲裁者規則。 This determination of a family of cases with conflicting decisions permits the addition of an arbitrator rule with a higher priority that enforces the desired decision.

根據本發明之一第三態樣,提供一種用於管理條件動作規則之系統,該系統包含:一已處理案件模型化工具,其用於建置使一些規則適用之案件的一家族;一衝突偵測器,其用於反覆地建置且測試該家族之案件的子集,搜尋具有衝突決策之案件以便定位皆具有衝突決策之案件的一子集。 According to a third aspect of the present invention, a system for managing conditional action rules is provided, the system comprising: a processed case modeling tool for constructing a family of cases for which some rules apply; A detector that is used to repeatedly build and test a subset of cases of the family, searching for cases with conflicting decisions to locate a subset of cases that all have conflicting decisions.

根據本發明之一第四態樣,提供一種實施產生與測試方法之衝突偵測器;及描述使某一規則適用之所有案件的一已處理案件模型化工具。以下兩者形成該衝突偵測器功能性之部分,但取決於實施例而為實體部分或單獨的:描述將針對哪個案件執行哪些動作之一規則集合推論模型化工具,及提供關於不相容規則動作之知識的一動作推理器。 In accordance with a fourth aspect of the present invention, a conflict detector for implementing a test and test method is provided; and a processed case modeling tool for describing all cases for which a rule applies. The following two form part of the functionality of the collision detector, but are either an entity part or a separate one depending on the embodiment: a description of which case will be performed on which case, a rule set inference modeling tool, and providing incompatibility A motion reasoner for knowledge of rule actions.

該已處理案件模型化工具建置一規則集合適用性圖,該 規則集合適用性圖表示某一規則與案件中之一些物件匹配且此等物件滿足該規則之條件。該規則集合適用性圖表示個別規則之適用性圖的一析取。一規則之適用性圖描述藉由呈一緊湊邏輯形式之規則處理的案件。 The processed case modeling tool constructs a rule set applicability map, The rule set applicability graph indicates that a rule matches some of the items in the case and that the items satisfy the conditions of the rule. The rule set applicability graph represents an extract of the applicability graph of the individual rules. The applicability chart of a rule describes a case handled by a rule in a compact logical form.

該規則集合推論模型化工具藉由建置一規則集合隱含圖將呈一隱含邏輯形式之該規則集合的決策制定行為模型化,該規則集合隱含圖描述適用規則之動作將藉由該規則集合來執行。實際上,一規則集合隱含圖表示個別規則之隱含圖的合取。一規則之隱含圖描述:在案件含有藉由該規則匹配之物件且此等物件滿足規則條件的情況下,該規則動作將藉由該規則集合來執行。在給定一案件的情況下,一邏輯問題解算器接著可判定適用規則且導出將執行之動作。若此等動作中之若干動作不相容,則該邏輯問題解算器將不能夠找到針對該給定案件之該規則集合隱含圖的一解決方案。該邏輯問題解算器因此已展示此案件具有衝突決策。 The rule set inference modeling tool models a decision making behavior of the rule set in an implicit logical form by constructing a rule set implicit graph, and the rule set implicit graph describes the action of the applicable rule by using the rule set A set of rules to execute. In fact, a rule set implicit graph represents the conjunction of the implicit graphs of individual rules. A rule implied graph description: In the case where the case contains objects matched by the rule and the objects satisfy the rule condition, the rule action will be performed by the rule set. Given a case, a logic problem solver can then determine the applicable rules and derive the action to be performed. If some of the actions are incompatible, then the logic problem solver will not be able to find a solution to the rule set implicit map for the given case. The logic problem solver has therefore demonstrated that this case has conflicting decisions.

該動作推理器管理關於衝突動作之知識。該動作推理器使用此知識產生在該規則集合中出現之規則動作之間的不相容性約束。若一規則藉由執行一序列動作制定多個決策,則該動作推理器處置指派且導出歸因於此等指派而修改之中間表達式的值。此外,該動作推理器藉由適當變換(亦即,藉由使不同序列之動作達成相同次序)達成不同動作序列之一比較。 The action reasoner manages knowledge about conflicting actions. The action reasoner uses this knowledge to generate incompatibility constraints between the regular actions that occur in the set of rules. If a rule formulates a plurality of decisions by performing a sequence of actions, the action reasoner processes the assignments and derives values of the intermediate expressions modified by the assignments. Moreover, the motion reasoner achieves a comparison of one of the different sequences of actions by appropriate transformations (i.e., by having the different sequences of actions achieve the same order).

該衝突偵測器藉由推行上文所描述之該產生與測試方法 搜尋制定衝突決策之案件的一家族。該衝突偵測器因此由一案件家族產生器及一衝突檢查器組成。該案件家族產生器搜尋已處理案件(亦即,使至少一規則適用之案件)之整個空間。該案件家族產生器使用一不良者儲存區以便消除先前產生之候選者,該等先前產生之候選者已藉由該衝突檢查器而捨棄或已經包括於關於具有衝突決策之案件的報告中。最初,此不良者儲存區為空的。為了找到已處理案件之一新家族,該案件家族產生器將規則集合適用性圖及不良者提交至一已處理案件解算器。若該已處理案件解算器未找到將根節點標記為真且考慮所有圖運算之規則集合適用性圖及不良者之一標示,則不存在適用規則且整個分析停止。否則,該案件家族產生器藉由查驗圖中之命題節點的真值自該圖標示中提取已處理案件之一家族。該案件家族產生器接著將案件之此家族發送至該衝突檢查器。 The collision detector is implemented by implementing the generation and test method described above Search for a family of cases that make conflict decisions. The collision detector is thus composed of a case family generator and a conflict checker. The case family generator searches the entire space of the processed case (ie, the case where at least one rule applies). The case family generator uses a bad person storage area to eliminate previously generated candidates that have been discarded by the conflict checker or have been included in the report on cases with conflicting decisions. Initially, this bad person storage area was empty. In order to find a new family of one of the processed cases, the case family generator submits the rule set applicability map and the bad person to a processed case solver. If the processed case solver does not find the rule set applicability graph and one of the bad ones that mark the root node as true and considers all graph operations, then there is no applicable rule and the entire analysis stops. Otherwise, the case family generator extracts a family of processed cases from the icon representation by examining the true value of the proposition node in the graph. The case family generator then sends the family of cases to the conflict checker.

該衝突檢查器建構表示已處理案件之該家族的合取之一非衝突圖、規則集合隱含圖及關於在該規則集合隱含圖中出現之不相容動作的約束。該衝突檢查器向該動作推理器請求此等約束。該衝突檢查器將該非衝突圖提交至一非衝突圖解算器。若該非衝突圖解算器找到滿足圖之一標示,則候選案件家族含有不具有衝突決策之至少一案件。該衝突檢查器設法消除此案件以及類似案件。該衝突檢查器因此藉由查驗藉由該非衝突圖解算器產生之該標示來建構案件之一改進家族。該改進家族中之該等案件在且僅在此節點經標示為真的情況下滿足該非衝突圖中之一命題節點。 該衝突檢查器因此使用此等命題節點及其標示來產生該改進家族之一描述。該衝突檢查器接著將此改進家族發送至該案件家族產生器,該案件家族產生器將該改進家族變換成一不良者且因此消除該改進家族中之該等案件。該產生器接著將產生已處理案件之一新家族,且使該方法反覆。然而,若該非衝突圖解算器未找到滿足該非衝突圖之一標示,則該非衝突圖不具有解決方案,此情形意謂給定案件家族具有衝突決策。該衝突檢查器接著將此案件家族包括於最終報告中。 The conflict checker constructs a non-conflicting graph representing the family of processed cases, a rule set implicit graph, and constraints on incompatible actions occurring in the rule set implicit graph. The conflict checker requests these constraints from the action reasoner. The conflict checker submits the non-conflicting graph to a non-conflicting graph calculator. If the non-conflicting graphical calculator finds a one of the satisfaction graphs, then the candidate case family contains at least one case that does not have a conflicting decision. The conflict checker managed to eliminate this and similar cases. The conflict checker thus constructs one of the cases to improve the family by examining the indication generated by the non-conflicting graphical calculator. The cases in the improved family satisfy one of the proposition nodes in the non-conflicting map if and only if the node is marked as true. The conflict checker thus uses these proposition nodes and their labels to produce a description of one of the improved families. The conflict checker then sends the improved family to the case family generator, which converts the improved family into a bad one and thus eliminates such cases in the improved family. The generator will then generate a new family of one of the processed cases and repeat the method. However, if the non-conflicting graphical calculator does not find a flag that satisfies the non-conflicting graph, then the non-conflicting graph does not have a solution, which means that the given case family has conflicting decisions. The conflict checker then includes this family of cases in the final report.

在一特定實施例中,在將該改進家族發送至該案件家族產生器之前,該衝突檢查器藉由使用基於一致性之解釋方法來概括該改進家族。 In a particular embodiment, the conflict checker summarizes the improved family by using a consistency based interpretation method prior to transmitting the improved family to the case family generator.

使該方法反覆,以便找到具有衝突決策之案件的其他家族。出於此目的,該衝突檢查器在報告中向該案件家族產生器通知其已包括具有衝突決策之一案件。該案件家族產生器接著將一不良者添加至其不良者儲存區,該不良者儲存區避免此家族之一再生。接著該案件家族產生器設法產生一新家族且將該新家族提交至該衝突檢查器。在該案件家族產生器找不到其他家族時,該方法停止。 This method is repeated to find other families with cases of conflicting decisions. For this purpose, the conflict checker informs the case family generator in the report that it has included a case with a conflicting decision. The case family generator then adds a bad person to its defective storage area, which avoids regeneration of one of the families. The case family generator then manages to create a new family and submit the new family to the conflict checker. The method stops when the family generator cannot find other families in the case.

根據本發明之一第五態樣,提供一種電腦程式產品,其包含電腦可讀記錄媒體,該電腦可讀記錄媒體上儲存有用於以衝突規則偵測案件之電腦可讀程式碼,該電腦可讀程式碼在載入至一電腦系統上且被執行時執行以下步驟:建置使一些規則適用之案件的一家族;反覆地建置且測試該 家族之案件的子集,搜尋具有衝突決策之案件以便定位皆具有衝突決策之案件的一子集。 According to a fifth aspect of the present invention, a computer program product comprising a computer readable recording medium having computer readable code for detecting a case by conflict rules is stored on the computer readable recording medium, the computer readable The reading code, when loaded onto a computer system and executed, performs the following steps: building a family of cases for which some rules apply; re-establishing and testing the program A subset of family cases, searching for cases with conflicting decisions to locate a subset of cases that all have conflicting decisions.

根據本發明之一第六態樣,提供一種電腦程式,其儲存於一電腦可讀媒體上且可載入至一數位電腦之內部記憶體中,該電腦程式包含在該程式執行於一電腦上時用於執行如技術方案1至4中任一項之方法的軟體程式碼部分。 According to a sixth aspect of the present invention, a computer program is stored on a computer readable medium and loadable into an internal memory of a digital computer, the computer program being included in a computer executed on the computer The software code portion for performing the method of any one of claims 1 to 4.

現將參看隨附圖式僅借助於實例來描述本發明之實施例。 Embodiments of the present invention will now be described by way of example only with reference to the accompanying drawings.

規則為表達為案件之整個集合且不僅為單一案件制定某些決策(諸如,接受或拒絕貸款請求)之便利方式。詳言之,規則准許決策制定者藉由將彼等決策擴展至類似案件之家族來概括為特定案件制定之決策。舉例而言,接受35%之負債比率下的$200,000之貸款之請求的決策可概括為貸款請求多至$600,000且多至35%之負債比率。此概括步驟之結果為以下規則:若貸款請求之金額至多$600,000且若貸款請求之負債比率至多35%,則接受貸款請求。獨立於此情形,拒絕大於40%之負債比率下的$300,000之貸款之決策可概括為貸款請求大於$300,000及大於30%之負債比率。此第二概括步驟之結果為以下規則:若貸款請求之金額大於$300,000且若貸款請求之負債比率大於30%,則拒絕貸款請求。在將彼等規則應用於$500,000及32%之負債比率之貸款請求時,將既拒絕貸款又接受貸款。因此,此等規則之決策制定行為不一致,此係因為不可能以 使得既拒絕貸款又接受貸款的方式配置事物。此等決策相衝突且應選擇該等決策中之僅一者。 Rules are a convenient way of expressing the entire collection of cases and not only making certain decisions for a single case, such as accepting or rejecting a loan request. In particular, the rules allow decision makers to generalize decisions made for a particular case by extending their decisions to a family of similar cases. For example, a decision to accept a request for a loan of $200,000 under a 35% gearing ratio can be summarized as a loan request with a debt ratio of up to $600,000 and up to 35%. The result of this generalization step is the following rule: If the amount of the loan request is at most $600,000 and if the debt ratio of the loan request is at most 35%, the loan request is accepted. Independent of this, the decision to reject a loan of $300,000 under a debt ratio greater than 40% can be summarized as a loan requirement greater than $300,000 and a gearing ratio greater than 30%. The result of this second generalization step is the rule that if the loan request amount is greater than $300,000 and if the loan request debt ratio is greater than 30%, the loan request is rejected. When applying their rules to a loan request of a debt ratio of $500,000 and 32%, both the loan and the loan will be rejected. Therefore, the decision making behavior of these rules is inconsistent because it is impossible to Configure things in a way that both rejects the loan and accepts the loan. These decisions conflict and should select only one of those decisions.

可出於若干原因而發生具有衝突決策之案件。首先,可能在概括現有案件之決策時引入具有衝突決策之案件。概括步驟可獨立於彼此而執行,且遵循其自身基本原理(諸如,找到具有概括現有案件之決策的最一般條件之規則)。此外,可能在改變現有規則時引入具有衝突決策之案件,此係因為規則之修改可引入與其他規則的重疊。歸因於規則之間的無法預料之互動而獲得不一致性,且不一致性不僅發生於合作規則創作之內容脈絡中,而且發生於由單一規則制定者定義規則的情況下。實際上,規則之性質使得不一致性幾乎為不可避免的。規則構成複雜決策原則之緊湊且簡單表示。規則表示獨立於彼此之決策原則的不同片段。更一般規則優先於更特定規則,此係因為更一般規則導致規則條件之更短且更簡單描述,且亦減小規則之總數目。然而,規則條件之高度一般性易於導致規則條件之間的重疊,且在彼等重疊規則制定衝突決策的情況下導致不一致性。因此,問題源於以下事實:需要藉由可藉由單一規則處理之案件的區塊涵蓋案件空間中之整個區域。 Cases with conflicting decisions can occur for a number of reasons. First, it is possible to introduce cases with conflicting decisions when summarizing decisions in existing cases. The generalization steps can be performed independently of each other and follow their own underlying principles (such as finding rules with the most general conditions for making decisions that summarize existing cases). In addition, cases with conflicting decisions may be introduced when changing existing rules, as the modification of the rules may introduce overlap with other rules. Inconsistencies are attributable to unpredictable interactions between rules, and inconsistencies occur not only in the context of collaborative rule authoring, but also in cases where rules are defined by a single rule maker. In fact, the nature of the rules makes inconsistency almost inevitable. Rules form a compact and simple representation of complex decision making principles. Rules represent different segments of decision-making principles that are independent of each other. More general rules take precedence over more specific rules, because more general rules result in shorter and simpler descriptions of the rule conditions, and also reduce the total number of rules. However, the high degree of generality of the rule conditions tends to lead to overlap between rule conditions and leads to inconsistencies in the case where their overlapping rules make conflicting decisions. Therefore, the problem stems from the fact that the entire area of the case space needs to be covered by a block of cases that can be handled by a single rule.

解決規則之間的衝突之經典做法在於修改一或兩個規則之條件以使得條件不再重疊。 The classic way to resolve conflicts between rules is to modify the conditions of one or two rules so that the conditions no longer overlap.

經典做法具有若干缺點。首先,經典做法需要識別為案件制定衝突決策之所有規則。實際上,有可能兩個以上規 則為每一案件制定衝突決策。其次,經典做法需要修改規則以便確保該等規則不再重疊。 The classic approach has several drawbacks. First, the classic approach needs to identify all the rules that make conflict decisions for the case. In fact, it is possible to have more than two rules Then make conflict decisions for each case. Second, the classic approach requires modifying the rules to ensure that they do not overlap.

簡單做法為宣告規則中之一者為贏者且給予其高於其他規則的優先權。 The simple rule is to declare one of the rules as the winner and give it priority over the other rules.

另一做法在於修改規則條件以便避免任何重疊。此修改可導致涉及合取及析取之巢套的規則條件之更複雜描述。 Another approach is to modify the rule conditions to avoid any overlap. This modification may result in a more complex description of the rule conditions involved in the nesting and extraction nesting.

在替代做法中,可將規則分裂成若干更特殊規則。所有此等方法需要對現有規則之冗長調查。 In an alternative approach, the rules can be split into a number of more specific rules. All of these methods require lengthy investigations into existing rules.

然而,藉由實施例採用之做法為直接定址具有衝突決策之案件。代替修復現有規則,規則制定者可添加為此等案件制定正確決策且充當仲裁者之具較高優先權的規則。單一仲裁者規則可為具有衝突決策之類似案件的整個家族制定決策。若經適當地定義,則仲裁者規則具有與其他規則相同的形式。實施例做法保持規則之簡單性及一般性,同時藉由添加仲裁者規則層處理不一致性。實施例做法不再需要識別衝突規則。實施例做法僅需要偵測具有衝突決策之案件的家族。 However, the practice adopted by the embodiment is to directly address cases with conflicting decisions. Instead of fixing existing rules, rule-makers can add higher-priority rules that make the right decisions for these cases and act as arbiters. A single arbitrator rule can make decisions for the entire family of similar cases with conflicting decisions. If properly defined, the arbitrator rule has the same form as the other rules. The embodiment practices maintain the simplicity and generality of the rules while handling inconsistencies by adding an arbiter rule layer. The embodiment approach no longer requires the identification of conflicting rules. The embodiment approach only needs to detect families with cases with conflicting decisions.

可辯論:不需要解決規則之間的衝突,此係因為規則引擎將按某一次序執行衝突規則。實際上,若若干規則相衝突,則僅規則中之一者的決策將有效且不可能遇到(例如)既接受貸款又拒絕貸款之情形。歸因於此,在規則引擎將規則應用於單一案件時,可不顯現衝突決策。然而,在多次調用引擎以用於類似案件時,可顯露衝突。若存在衝突規則,則最後制定之決策將取決於引擎執行規則之次序。 此次序可取決於二級準則(諸如,物件之名稱、內部記憶體位址等等),二級準則可針對等效案件及針對引擎之不同調用而變化。因此,引擎可在被多次調用時為等效案件制定不同決策。因此,在被多次調用時,基於規則之系統針對相同輸入產生不同輸出。衝突規則因此可引起規則引擎之不規則行為,且應有可能在引擎執行之較大取樣內觀察到此行為。 Debate: There is no need to resolve conflicts between rules, because the rules engine will enforce conflict rules in a certain order. In fact, if several rules conflict, then only one of the rules' decisions will be effective and unlikely to encounter, for example, both a loan and a loan. Due to this, when the rule engine applies the rule to a single case, the conflict decision cannot be made. However, when the engine is called multiple times for a similar case, the conflict can be revealed. If there are conflicting rules, the final decision will depend on the order in which the engine executes the rules. This order may depend on secondary criteria (such as the name of the object, internal memory address, etc.), which may vary for equivalent cases and for different calls to the engine. Therefore, the engine can make different decisions for equivalent cases when it is called multiple times. Therefore, a rule-based system produces different outputs for the same input when called multiple times. Conflict rules can therefore cause irregular behavior of the rules engine, and it should be possible to observe this behavior within the larger samples executed by the engine.

然而,衝突規則並非不規則行為之唯一原因。若多個規則之次序對於制定決策為重要的,則基於規則之系統亦可針對相同輸入產生不同輸出。舉例而言,保險索賠處理之規則集合必須使用包括判定損壞量之一序列規則來決定是接受索賠抑或拒絕索賠。若多次將規則引擎應用於等效保險索賠,則規則引擎可按不同次序執行規則。因此在此實例中,規則引擎將針對相同輸入產生不同輸出。 However, conflict rules are not the only reason for irregular behavior. If the order of multiple rules is important for making decisions, the rule-based system can also produce different outputs for the same input. For example, a set of rules for insurance claim processing must use a sequence rule that includes a determination of the amount of damage to decide whether to accept the claim or reject the claim. If the rule engine is applied to an equivalent insurance claim multiple times, the rules engine can execute the rules in a different order. So in this example, the rules engine will produce different outputs for the same input.

遺漏決策為用於獲得不同輸出之另一原因。因為規則集合可制定多個決策,所以在尋找具有衝突決策之案件時,比較所得輸出狀態係不足夠的。不同輸出狀態係歸因於以下問題:1)衝突決策;或2)遺漏決策。較深分析因此為必要的,以區別此等兩個問題。 Missing decisions are another reason for obtaining different outputs. Because a set of rules can make multiple decisions, comparing the resulting output state is not sufficient when looking for cases with conflicting decisions. The different output states are attributed to the following questions: 1) conflict decision; or 2) missing decision. A deeper analysis is therefore necessary to distinguish between these two issues.

衝突規則分析器因此必須區別制定衝突決策之規則動作(諸如,接受及拒絕相同保險索賠)與制定不相關決策的規則動作(諸如,接受保險索賠及判定其損壞量)。為了區別衝突及不相關決策,分析器需要關於規則動作之額外知識。舉例而言,分析器需要知曉接受及拒絕相同保險索賠 之動作不相容,此係因為該等動作制定衝突決策。 The conflict rule analyzer must therefore distinguish between rule actions that make conflict decisions (such as accepting and rejecting the same insurance claim) and rule actions that make unrelated decisions (such as accepting insurance claims and determining the amount of damage). In order to distinguish between conflict and irrelevant decisions, the parser needs additional knowledge about the action of the rules. For example, the analyzer needs to know to accept and reject the same insurance claim The actions are incompatible, and this is because these actions make conflicting decisions.

圖1為提供為某些案件制定衝突決策之規則的實例之表格(表1:規則專案1)。以IBM WebSphere Ilog JRules BRMS 7.1之商業動作語言(BAL)撰寫規則。規則取決於貸款請求之金額及其負債比率而制定關於接受或拒絕貸款請求的決策。規則亦可將貸款請求分類成諸如低風險或高風險之類別。舉例而言,若貸款之負債比率至多35%且其金額至多$600k,則規則d1接受貸款:規則d1:將Loan1設定為貸款;若Loan1之負債比率至多35%且Loan1之金額至多$600,000則接受Loan1;若貸款之負債比率大於30%且其金額大於$300k,則規則d2拒絕貸款請求:規則d2:將Loan1設定為貸款;若Loan1之負債比率大於30%且Loan1之金額大於$300,000則拒絕Loan1;此等規則將既接受又拒絕具有(例如)35%之負債比率及$600k之金額的貸款請求。因此,衝突規則為彼等案件制定衝突決策,如圖2之標記交叉影線陰影區域中所展示。 Figure 1 is a table showing examples of rules for making conflict decisions for certain cases (Table 1: Rule Project 1). Write the rules in the IBM WebSphere Ilog JRules BRMS 7.1 Business Action Language (BAL). The rules determine the decision to accept or reject a loan request based on the amount of the loan request and its debt ratio. Rules can also classify loan requests into categories such as low risk or high risk. For example, if the loan's debt ratio is at most 35% and its amount is at most $600k, then rule d1 accepts the loan: rule d1: Loan1 is set as the loan; if Loan1's debt ratio is at most 35 % and Loan1's amount is at most $600,000, then accept Loan1; if the debt ratio of the loan is greater than 30% and its amount is greater than $300k, then rule d2 rejects the loan request: rule d2: Loan1 is set as the loan; if Loan1's debt ratio is greater than 30 % and Loan1's amount is greater than $300,000, Loan1 is rejected ; such rules have refused to accept both the (e.g.) 35% of the gearing ratio and the amount of the loan request of $ 600K. Therefore, the conflict rules make conflict decisions for their cases, as shown in the shaded hatched area of the marker in Figure 2.

若貸款金額大於$1000k或其負債比率大於40%,則規則 d3及d4拒絕貸款:規則d3:將Loan1設定為貸款;若Loan1之負債比率大於40%則拒絕Loan1;規則d4:將Loan1設定為貸款;若Loan1之金額大於$1,000,000則拒絕Loan1;最終,若貸款金額超過$300k,則規則c1將高風險指派給貸款:規則c1:將Loan1設定為貸款;若Loan1之金額大於$300,000則將Loan1分類為高風險;$2000k及50%之負債比率之貸款請求將使若干規則(亦即,d2、d3、d4及c1)適用。因為規則d2、d3、d4皆拒絕此貸款請求,所以該等規則不相衝突。此外,獨立於接受或拒絕貸款之決策,規則c1將此貸款分類為高風險。因此,將貸款分類為高風險與拒絕此貸款相容。因此,給定貸款請求導致不同但不相衝突之多個決策。 If the loan amount is greater than $1000k or its debt ratio is greater than 40%, rules d3 and d4 reject the loan: rule d3: Loan1 is set as the loan; if Loan1's debt ratio is greater than 40 % , Loan1 is rejected; rule d4: Loan1 is set to Loan; Loan1 is rejected if the amount of Loan1 is greater than $1,000,000; eventually, if the loan amount exceeds $300k, rule c1 assigns a high risk to the loan: rule c1: Loan1 is set as a loan; if Loan1 is greater than $300,000, Loan1 is classified For high risk; a loan request of $2000k and a 50% debt ratio will result in a number of rules (ie, d2, d3, d4 and c1). Because rules d2, d3, and d4 reject this loan request, they do not conflict. In addition, rule c1 classifies this loan as high risk, independent of the decision to accept or reject the loan. Therefore, classifying a loan as high risk is compatible with rejecting the loan. Therefore, a given loan request results in multiple but non-conflicting multiple decisions.

圖2為以具有貸款金額軸及負債比率軸之二維座標系統形式描繪案件空間的狀態圖。圖2展示針對單一貸款之規則集合的決策制定行為。藉由規則處理之案件對應於矩形 區塊。影線之不同形式表示接受或拒絕貸款。在不同形式之規則(藉由不同影線標記)重疊的空間中,獲得具有衝突決策之案件。 2 is a state diagram depicting a case space in the form of a two-dimensional coordinate system having a loan amount axis and a liability ratio axis. Figure 2 shows the decision making behavior for a set of rules for a single loan. Cases handled by rules correspond to rectangles Block. Different forms of hatching indicate acceptance or rejection of a loan. Cases with conflicting decisions are obtained in spaces where different forms of rules (marked by different hatching) overlap.

在物件導向式規則語言(諸如,IBM WebSphere Ilog JRules BRMS 7.1之物件導向式規則語言)中,可依據方法調用以抽象形式表示規則動作。舉例而言,貸款之類宣告具有表示貸款接受(void accept())、貸款拒絕(void reject())及貸款分類(void classify(...))之三個動作的三種方法,其中術語「void」定義以下方法:class Loan{ void accept(); void reject(); void classify(RiskCategory risk); } In an object-oriented rules language (such as the object-oriented rule language of IBM WebSphere Ilog JRules BRMS 7.1), rule actions can be represented in abstract form depending on method calls. For example, a loan or the like has three methods of representing three actions of a void accept (), a void reject (), and a void classify (...), wherein the term "Void" defines the following methods: class Loan{ void accept(); void reject(); void classify(RiskCategory risk);

此實例貸款類宣告定義方法之引數及傳回類型,但並不展現關於其所起之作用的任何資訊。類宣告未解釋方法調用x.accept()及x.reject()構成貸款x之核准決策的選項。此外,類宣告未解釋針對不同風險類別y之方法調用x.classify(y)構成貸款x之分類決策的選項。因此,需要決策之額外定義以理解決策制定程序之類方法的作用。 This instance loan class declares the arguments and return types of the method, but does not reveal any information about its role. The class declaration does not interpret the method call x.accept() and x.reject() to form an option for the loan x approval decision. In addition, the class declaration does not explain the option to invoke x.classify(y) for the classification decision for loan x for different risk categories y. Therefore, additional definitions of decision making are needed to understand the role of methods such as decision making procedures.

本發明實施例使用決策之此定義以便偵測制定衝突決策之動作。因為決策之不同選項互斥,所以分析器可導出表示動作「接受x」及「拒絕x」之方法調用x.accept()及x.reject()不相容。此外,分析器可得出結論:若風險y及z 不同,則方法調用x.classify(y)及x.classify(z)不相容。 Embodiments of the present invention use this definition of decision making in order to detect actions that make conflicting decisions. Because the different options of the decision are mutually exclusive, the parser can export the method calls x.accept() and x.reject() which are incompatible with the action "accept x" and "reject x". In addition, the analyzer can conclude that if the risks y and z Different, the method calls x.classify(y) and x.classify(z) are incompatible.

決策之顯式定義在決策支援系統中常見且構成提供關於衝突決策之知識的便利方式。決策之此等定義需要考慮基於規則之決策制定的特定性,基於規則之決策制定將為多個物件制定多個種類的決策。除選項清單之外,規則集合之決策的定義因此亦必須考慮決策之範疇,亦即,制定決策所針對之物件的數目及類型。舉例而言,為貸款物件制定貸款核准決策。因此,此決策之範疇為貸款物件之範疇。決策之選項則為應用於範疇之物件的動作。舉例而言,類型為貸款之物件Loan1的貸款核准決策具有接受物件Loan1之選項或拒絕此物件之選項。此決策定義之可能語法由關鍵字「決策」繼之以決策之名稱及範疇宣告以及選項描述組成。範疇宣告可具有與規則之範疇宣告相同的語法,亦即,物件宣告清單,諸如「將Loan1設定為貸款」。選項描述使用片語「選項將為<動作1>,將為<動作2>,...,及將為<動作n>」。動作具有與規則動作相同的語法。貸款核准決策因此可如下來定義:決策LoanApproval將Loan1設定為貸款;選項將為接受Loan1及拒絕Loan1;其他決策可能必須在相同動作之不同應用之間作出選擇。在此案件中,將動作應用於額外引數且選項在彼等引數之值上不同。舉例而言,貸款分類決策在於將貸款物件分類為風險,其中風險為低風險或高風險。此決策之選項 描述因此宣告此等引數、其類型及可能的其定義域。舉例而言,貸款分類決策可如下來定義:決策LoanClassification將Loan1設定為貸款;選項將為將Loan1分類為Risk1其中Risk1為{低風險,高風險}中之風險類別;若決策定義可用,則衝突規則分析器可自該等決策定義中提取關於不相容動作之知識。舉例而言,衝突規則分析器可導出不可能既接受又拒絕貸款。然而,若決策定義不可用,則需要顯式地指定彼等不相容性約束。此外,不相容性約束具有描述為約束之主題的物件之範疇。此外,不相容性約束列出皆互不相容之動作的集合。此不相容性約束之可能語法以關鍵字「約束」開始,繼之以範疇宣告及不相容性描述。不相容性描述使用片語「其與<動作1>互不相容,與<動作2>互不相容,......,及與<動作n>互不相容」。舉例而言,接受及拒絕相同貸款之不相容性可如下來表達:約束:將Loan1設定為貸款;接受Loan1與拒絕Loan1互不相容;若列出兩個以上動作,則此等動作皆互不相容。不相容性約束表達決策之間的二進位衝突。 Explicit definitions of decisions are common in decision support systems and constitute a convenient way to provide knowledge about conflict decisions. These definitions of decisions need to consider the specificity of rule-based decision making, and rule-based decision making will make multiple kinds of decisions for multiple objects. In addition to the list of options, the definition of the decision set of the rule set must therefore also take into account the scope of the decision, that is, the number and type of objects for which the decision is made. For example, a loan approval decision is made for a loan item. Therefore, the scope of this decision is the scope of the loan object. The decision-making option is the action of the object applied to the category. For example, a loan approval decision for a loan item Loan1 has the option of accepting the item Loan1 or rejecting the item. The possible grammar for this decision definition consists of the keyword "decision" followed by the name and scope of the decision and the description of the option. The category declaration may have the same grammar as the category of the rule, that is, an item declaration list, such as "set Loan1 as a loan." The option description uses the phrase "The option will be <action 1>, which will be <action 2>,..., and will be <action n>". The action has the same syntax as the rule action. The loan approval decision can therefore be defined as follows: Decision LoanApproval sets Loan1 as a loan; the option will be to accept Loan1 and reject Loan1; other decisions may have to choose between different applications of the same action. In this case, the action is applied to the extra arguments and the options differ in the value of their arguments. For example, the loan classification decision is to classify the loan object as a risk, where the risk is low risk or high risk. The option description for this decision thus declares such arguments, their type, and possibly their domain. For example, the loan classification decision can be defined as follows: Decision LoanClassification sets Loan1 as a loan; the option will be to classify Loan1 as Risk1 where Risk1 is the risk category in {low risk, high risk}; if the decision definition is available, the conflict The rule analyzer can extract knowledge about incompatible actions from the decision definitions. For example, the conflict rule analyzer can export that it is not possible to accept and reject the loan. However, if the decision definition is not available, then you need to explicitly specify their incompatibility constraints. Furthermore, the incompatibility constraint has the scope of the object described as the subject of the constraint. In addition, incompatibility constraints list collections of actions that are mutually exclusive. The possible syntax for this incompatibility constraint begins with the keyword "constraint" followed by a category declaration and incompatibility description. The incompatibility description uses the phrase "it is incompatible with <action 1>, is incompatible with <action 2>, ..., and is incompatible with <action n>". For example, the incompatibility of accepting and rejecting the same loan can be expressed as follows: Constraint: Loan1 is set as a loan; Loan1 is accepted as incompatible with Loan1; if more than two actions are listed, then all actions are Incompatible with each other. Incompatibility constraints express binary collisions between decisions.

若將相同動作應用於不同引數,則亦可發生不相容性。彼等不相容性約束必須宣告彼等引數為其範疇之部分。此 外,不相容性約束包括陳述引數不同之條件部分。舉例而言,以兩種不同方式分類貸款之不相容性可如下來陳述:約束:將Loan1設定為貸款;將Risk1設定為風險類別;將Risk2設定為風險類別;若Risk1不等於Risk2則將Loan1分類為Risk1與將Loan1分類為Risk2互不相容;參看圖3,展示用於較佳實施例之規則管理系統的電腦系統節點10之部署圖。電腦系統節點10包含電腦系統/伺服器12,電腦系統/伺服器12可與眾多其他通用或專用計算系統環境或組態一起操作。可適合於供電腦系統/伺服器12使用之熟知計算系統、環境及/或組態之實例包括(但不限於)個人電腦系統、伺服器電腦系統、精簡型用戶端、複雜型用戶端、手持型或膝上型器件、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子裝置、網路PC、迷你電腦系統、大型電腦系統,及包括上述系統或器件中之任一者的分散式雲端計算環境,及其類似者。 Incompatibilities can also occur if the same action is applied to different arguments. These incompatibilities must declare their arguments as part of their scope. In addition, the incompatibility constraint includes a conditional part that states different arguments. For example, the incompatibility of a loan classified in two different ways can be stated as follows: Constraint: Loan1 is set as a loan; Risk1 is set as a risk category; Risk2 is set as a risk category; if Risk1 is not equal to Risk2, The classification of Loan1 as Risk1 is incompatible with the classification of Loan1 into Risk2; see Figure 3, which shows a deployment diagram of computer system node 10 for the rule management system of the preferred embodiment. Computer system node 10 includes a computer system/server 12 that can operate with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 12 include, but are not limited to, personal computer systems, server computer systems, thin client, complex client, handheld Type or laptop device, multiprocessor system, microprocessor based system, set-top box, programmable consumer electronic device, network PC, mini computer system, large computer system, and including the above system or device A decentralized cloud computing environment, or the like.

可在正由電腦系統執行之電腦系統可執行指令(諸如,程式模組)之一般內容脈絡中描述電腦系統/伺服器12。大體而言,程式模組可包括執行特定任務或實施特定抽象資料類型之常式、程式、物件、組件、邏輯、資料結構等 等。電腦系統/伺服器12可體現於分散式雲端計算環境中,其中任務由經由通信網路而連結之遠端處理器件來執行。在分散式雲端計算環境中,程式模組可位於包括記憶體儲存器件之本端電腦系統儲存媒體與遠端電腦系統儲存媒體兩者中。 The computer system/server 12 can be described in the general context of computer system executable instructions (such as a program module) being executed by a computer system. In general, a program module can include routines, programs, objects, components, logic, data structures, etc. that perform specific tasks or implement specific abstract data types. Wait. The computer system/server 12 can be embodied in a decentralized cloud computing environment where tasks are performed by remote processing devices that are coupled via a communication network. In a distributed cloud computing environment, the program module can be located in both the local computer system storage medium including the memory storage device and the remote computer system storage medium.

電腦系統/伺服器12呈通用計算器件之形式。電腦系統/伺服器12之組件可包括(但不限於)一或多個處理器或處理單元16、系統記憶體28,及將包括系統記憶體28之各種系統組件耦接至處理器16的匯流排18。 The computer system/server 12 is in the form of a general purpose computing device. Components of computer system/server 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and confluence of various system components including system memory 28 to processor 16. Row 18.

匯流排18表示若干類型之匯流排結構中之任何一或多者,包括記憶體匯流排或記憶體控制器、周邊匯流排、加速圖形埠及使用多種匯流排架構中之任一者的處理器或區域匯流排。作為實例而非限制,此等架構包括工業標準架構(ISA)匯流排、微通道架構(MCA)匯流排、增強型ISA(EISA)匯流排、視訊電子標準協會(VESA)區域匯流排及周邊組件互連(PCI)匯流排。 Busbar 18 represents any one or more of a number of types of busbar structures, including memory busbars or memory controllers, peripheral busbars, accelerated graphics, and processors using any of a variety of busbar architectures. Or regional bus. By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) Bus, Micro Channel Architecture (MCA) Bus, Enhanced ISA (EISA) Bus, Video Electronics Standards Association (VESA) Area Bus and Peripheral Components Interconnect (PCI) bus.

電腦系統/伺服器12通常包括多種電腦系統可讀媒體。此等媒體可為可藉由電腦系統/伺服器12存取之任何可用媒體,且其包括揮發性媒體與非揮發性媒體兩者、抽取式媒體與非抽取式媒體兩者。 Computer system/server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12 and includes both volatile and non-volatile media, removable media and non-removable media.

系統記憶體28可包括呈揮發性記憶體形式之電腦系統可讀媒體(諸如,隨機存取記憶體(RAM)30及/或快取記憶體32)。電腦系統/伺服器12可進一步包括其他抽取式/非抽取式以及揮發性/非揮發性電腦系統儲存媒體。僅作為實 例,可提供儲存系統34,以用於自非抽取式、非揮發性磁性媒體(未圖示且通常被稱作「硬碟機」)讀取及寫入至非抽取式、非揮發性磁性媒體。儘管未圖示,但可提供用於自抽取式、非揮發性磁碟(例如,「軟碟」)讀取及寫入至抽取式、非揮發性磁碟之磁碟機,及用於自抽取式、非揮發性光碟(諸如,CD-ROM、DVD-ROM或其他光學媒體)讀取或寫入至抽取式、非揮發性光碟之光碟機。在此等例子中,各自可藉由一或多個資料媒體介面而連接至匯流排18。如下文將進一步描繪及描述,記憶體28可包括具有程式模組之集合(例如,至少一程式模組)的至少一程式產品,該等程式模組經組態以執行本發明之實施例之功能。 System memory 28 can include computer system readable media (such as random access memory (RAM) 30 and/or cache memory 32) in the form of volatile memory. Computer system/server 12 may further include other removable/non-removable and volatile/non-volatile computer system storage media. Only as a real For example, a storage system 34 can be provided for reading and writing from non-removable, non-volatile magnetic media (not shown and commonly referred to as "hard disk drives") to non-removable, non-volatile magnetics. media. Although not shown, a disk drive for reading and writing to a removable, non-volatile disk (for example, a "floppy disk") to a removable or non-volatile disk can be provided, and A removable, non-volatile optical disc (such as a CD-ROM, DVD-ROM, or other optical medium) is read or written to a disc drive, non-volatile disc. In these examples, each can be connected to busbar 18 by one or more data media interfaces. As will be further depicted and described below, the memory 28 can include at least one program product having a collection of program modules (eg, at least one program module) configured to perform embodiments of the present invention. Features.

規則管理系統40儲存於記憶體28中。 The rules management system 40 is stored in the memory 28.

電腦系統/伺服器12亦可與以下各者通信:一或多個外部器件14,諸如鍵盤、指標器件、顯示器24等;使得使用者能夠與電腦系統/伺服器12互動的一或多個器件;及/或使得電腦系統/伺服器12能夠與一或多個其他計算器件通信的任何器件(例如,網路卡、數據機等)。此通信可經由I/O介面22而發生。然而,電腦系統/伺服器12可經由網路配接器20與諸如區域網路(LAN)、一般廣域網路(WAN)及/或公用網路(例如,網際網路)之一或多個網路通信。如所描繪,網路配接器20經由匯流排18與電腦系統/伺服器12之其他組件通信。應理解,儘管未圖示,但可結合電腦系統/伺服器12使用其他硬體及/或軟體組件。實例包括(但不限於):微碼、器件驅動程式、冗餘處理單元、外部磁碟 機陣列、RAID系統、磁帶機及資料存檔儲存系統。 The computer system/server 12 can also be in communication with one or more external devices 14, such as a keyboard, indicator device, display 24, etc.; one or more devices that enable a user to interact with the computer system/server 12. And/or any device (eg, a network card, data machine, etc.) that enables computer system/server 12 to communicate with one or more other computing devices. This communication can occur via the I/O interface 22. However, computer system/server 12 may be via network adapter 20 with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (eg, the Internet) Road communication. As depicted, network adapter 20 communicates with other components of computer system/server 12 via bus bar 18. It should be understood that although not shown, other hardware and/or software components may be utilized in conjunction with computer system/server 12. Examples include (but are not limited to): microcode, device drivers, redundant processing units, external disks Machine array, RAID system, tape drive and data archive storage system.

圖4為較佳實施例之規則管理系統40之組件圖。規則管理系統40採用規則集合50及決策之定義52的集合(或不相容性約束之集合)作為輸入,且計算具有衝突決策之類似案件54的家族。規則管理系統40包含:已處理案件模型化工具42;規則集合推論模型化工具44;動作推理器46;衝突偵測器48;及不良者儲存區49。 4 is a component diagram of the rules management system 40 of the preferred embodiment. The rules management system 40 takes as input a set of rules 50 and a set of definitions 52 of decisions (or a set of incompatibility constraints) and calculates a family of similar cases 54 with conflicting decisions. The rule management system 40 includes a processed case modeling tool 42; a rule set inference modeling tool 44; an action reasoner 46; a conflict detector 48; and a bad person storage area 49.

圖4中以矩形框展示之組件40至49與圖4中以橢圓展示之輸入及輸出50至59互動。 The components 40 through 49 shown in rectangular form in Figure 4 interact with the inputs and outputs 50 through 59 shown in ellipses in Figure 4.

已處理案件模型化工具42將規則集合50輸入變換成規則集合適用性圖56輸出,規則集合適用性圖56輸出描述呈緊湊邏輯及基於約束之形式的規則集合之已處理案件。已處理案件模型化工具42建置約束圖,約束圖將呈隱含形式之規則集合的已處理案件及動作表示為具有藉由邊緣連接之根節點及子節點的資料樹結構。案件及動作由邏輯表達式形成,且已處理案件模型化工具42遞迴地遍歷包含規則之規則集合中之每一規則的邏輯表達式,且將每一受訪邏輯表達式映射至圖中之一節點。已處理案件模型化工具42確保一獨特表示,亦即,將相同表達式之兩次出現映射至相同圖節點。已處理案件模型化工具42將諸如數字、字符串文字及藉由規則匹配之物件的原始表達式映射至葉節點,且已處理案件模型化工具42將諸如算術運算、比較、存取物件之屬性的組成表達式映射至內部節點,內部節點藉由運算子標示且具有至表示其表達式之節點的傳出邊緣。表 示藉由規則匹配之物件的葉節點藉由每一規則之類型及數目規格地重命名以減小圖之大小。舉例而言,若規則與稱作「貸款」之物件匹配,則模型化工具將其重命名為「Loan1」。已處理案件模型化工具42藉由引入圖節點來建構規則集合之規則集合適用性圖,圖節點表示此規則之測試的合取(「與」邏輯運算)且具有至表示此等測試之節點的傳出邊緣。最終,已處理案件模型化工具42引入規則集合適用性圖56之根節點,該根節點表示不同規則適用性圖之析取且具有至表示此等規則適用性圖之節點的傳出邊緣。「已處理案件」為具有考慮其他圖節點之邏輯運算的圖節點之邏輯標示「真」或「假」的圖。已處理案件為藉由「真」標示根節點之案件。已處理案件模型化工具42僅考慮規則之條件,且不考慮規則之動作。 The processed case modeling tool 42 transforms the rule set 50 input into a rule set applicability map 56 output, and the rule set applicability map 56 outputs processed cases that describe the set of rules in a compact logic and constraint based form. The processed case modeling tool 42 builds a constraint map that represents the processed cases and actions of the rule set in implicit form as a data tree structure with root nodes and child nodes connected by edges. The case and action are formed by logical expressions, and the processed case modeling tool 42 recursively traverses the logical expression of each rule in the set of rules containing the rules, and maps each of the accessed logical expressions to the figure One node. The processed case modeling tool 42 ensures a unique representation, i.e., mapping two occurrences of the same expression to the same graph node. The processed case modeling tool 42 maps original expressions such as numbers, string literals, and objects that are matched by rules to leaf nodes, and the processed case modeling tool 42 will attributes such as arithmetic operations, comparisons, and access objects. The compositional expression is mapped to an internal node, which is labeled by an operator and has an outgoing edge to the node representing its expression. table The leaf nodes showing the objects matched by the rules are renamed by the type and number of each rule to reduce the size of the map. For example, if a rule matches an object called a "loan," the modeling tool renames it to "Loan1." The processed case modeling tool 42 constructs a rule set applicability graph of the rule set by introducing a graph node, the graph node representing the conjunction of the test of the rule ("and" logical operation) and having nodes to represent the tests Outgoing edge. Finally, the processed case modeling tool 42 introduces the root node of the rule set applicability map 56, which represents the disjunction of different rule applicability maps and has outgoing edges to nodes representing such rule applicability maps. The "processed case" is a diagram showing the logical indication "true" or "false" of a graph node having logical operations considering other graph nodes. The case that has been processed is the case where the root node is marked by "true". The processed case modeling tool 42 only considers the conditions of the rules and does not consider the actions of the rules.

規則集合推論模型化工具44將規則集合50輸入變換成規則集合隱含圖58輸出。規則集合隱含圖58描述藉由哪個案件之規則集合執行哪些動作。 The rule set inference modeling tool 44 transforms the rule set 50 input into a rule set implicit map 58 output. The rule set implies that Figure 58 describes which actions are performed by which set of rules.

在給定規則集合隱含圖58輸入及決策定義52輸入之情況下,動作推理器46在此圖中導出不相容性約束圖59輸出。不相容性約束圖59為描述在規則集合中出現之動作間的不相容性及約束的約束圖。 In the event that a given set of rules implies the input of the Figure 58 input and decision definition 52, the action reasoner 46 derives the output of the incompatibility constraint map 59 in this figure. Incompatibility Constraints Figure 59 is a constraint diagram depicting the incompatibility and constraints between actions occurring in a set of rules.

衝突偵測器48使用規則集合適用性圖56、規則集合隱含圖58及不相容性約束圖59作為輸入,以計算具有衝突決策之案件54輸出的家族。 The conflict detector 48 uses the rule set applicability map 56, the rule set implied map 58, and the incompatibility constraint map 59 as inputs to calculate the family of cases 54 with conflicting decisions.

維護不良者儲存區49,以用於捨棄不具有衝突決策之案 件的家族且用於捨棄具有已記錄之衝突決策的案件之家族。第二種類之不良者准許進行整個方法之反覆及因此的具有衝突決策之案件的若干家族或所有家族之計算。 Maintaining a bad storage area 49 for discarding non-conflicting decisions A family of pieces and used to abandon families with cases that have recorded conflicting decisions. The second category of bad individuals permits the calculation of several families or all families of cases that are repeated and thus have conflicting decisions.

圖5為藉由已處理案件模型化工具42建置之實例規則集合適用性圖56,規則集合適用性圖56用於描述藉由呈緊湊邏輯形式之規則集合處理的案件。規則集合適用性圖為表示個別規則之適用性圖(即,規則適用性圖)的析取之約束圖。規則之適用性圖陳述案件中存在藉由規則匹配且滿足規則之條件的物件。規則適用性圖因此表示規則條件之邏輯公式化的存在量化。圖5描繪實例規則d1、d2、d3、d4、c1之規則集合適用性圖。出於可讀性起見,藉由省略變數「?Loan1」具有類型貸款之條件而將圖稍微簡化。 5 is an example rule set applicability map 56 established by the processed case modeling tool 42. The rule set applicability map 56 is used to describe cases processed by a set of rules in a compact logical form. The rule set applicability graph is a constraint graph that represents the disjunction of the applicability graph of the individual rules (ie, the rule applicability graph). The applicability chart of the rule states that there are objects in the case that are matched by rules and satisfy the conditions of the rule. The rule applicability graph thus represents the existence quantification of the logical formulation of the rule conditions. Figure 5 depicts a rule set applicability graph for the example rules d1, d2, d3, d4, c1. For readability, the diagram is somewhat simplified by omitting the condition that the variable "?Loan1" has a type loan.

圖6為藉由規則集合推論模型化工具44建置之實例規則集合隱含圖58,實例規則集合隱含圖58用於描述適用規則之動作將藉由規則集合來執行。規則集合隱含圖58為表示個別規則(d1、d2、d3、d4、c1)之隱含圖的合取之約束圖。規則之隱含圖描述:對於藉由規則匹配之案件中的所有物件,若匹配之物件滿足規則條件,則規則動作將藉由規則集合來執行。隱含圖因此表示藉由每一規則之隱含節點表示的隱含之通用量化。此邏輯公式化將動作表示為邏輯項,且該邏輯公式化使用一元述詞「isDone」來指示藉由規則集合執行動作。舉例而言,規則d1具有隱含圖,該隱含圖陳述:對於類型為貸款(參見自d1圖節點「forall」至圖節點「?Loan1」之連接)之所有(參見節點「forall」) 物件x,若x為貸款且x之負債比率至多35%且x之金額至多$600,000(參見d1圖節點「isDone」及「接受」以及至圖節點「?Loan1」之連接),則進行動作「接受x」。隱含之剩餘引數表示規則條件之邏輯公式化(參見分別連接至圖節點「35%」「負債比率」及「$600k」「金額」之d1圖節點「>=」)。藉由省略變數「?Loan1」具有類型貸款之條件而將圖稍微簡化。 6 is an example rule set implied graph 58 built by the rule set inference modeling tool 44. The instance rule set implied FIG. 58 is used to describe the action of the applicable rule to be performed by the rule set. The rule set implicit graph 58 is a constraint diagram showing the conjunction of the hidden graphs of the individual rules (d1, d2, d3, d4, c1). Implied graph description of the rule: For all objects in the case matched by the rule, if the matched object satisfies the rule condition, the rule action will be executed by the rule set. The implicit graph thus represents the implicit universal quantization represented by the implicit nodes of each rule. This logical formulation represents the action as a logical item, and the logical formulation uses the unary predicate "isDone" to indicate that the action is performed by the set of rules. For example, rule d1 has an implicit map stating: for all types of loans (see the connection from the d1 graph node "forall" to the graph node "?Loan1") (see node "forall") Object x, if x is a loan and the debt ratio of x is at most 35% and the amount of x is at most $600,000 (see the connection of the d1 graph node "isDone" and "accept" and the connection to the graph node "?Loan1"), the action "Accept" x". The implied residual arguments represent the logical formulation of the rule conditions (see the d1 graph node ">=" respectively connected to the graph node "35%" "liability ratio" and "$600k" "amount". The diagram is somewhat simplified by omitting the condition that the variable "?Loan1" has a type loan.

規則集合隱含圖58類似於將動作模型化之規則集合應用圖(不同於未將動作模型化之本發明實施例的規則集合適用性圖),但亦以細微方式不同。規則集合應用圖描述某一規則適用且已執行其動作,而規則集合隱含圖描述將執行適用規則之動作。在給定案件的情況下,規則集合應用圖陳述將執行某一適用規則之動作,而規則集合隱含圖陳述將執行所有適用規則之動作。第一陳述將規則引擎之實際決策制定行為模型化為此引擎執行一適用規則。實際決策制定行為之此模型對於冗餘分析而言為重要的。然而,衝突分析需要在於應用所有適用規則之虛構行為之模型。此虛構行為顯露在規則引擎之實際行為中保持隱藏的衝突。 The rule set implied graph 58 is similar to the rule set application graph that models the action (unlike the rule set applicability graph of the embodiment of the invention in which the action is not modeled), but is also different in a subtle manner. The rule set application diagram describes that a rule applies and its actions have been performed, while the rule set implicit diagram describes the actions that will enforce the applicable rules. In the case of a given case, the rule set application graph states the action that will execute an applicable rule, while the rule set implicit graph statement will perform all applicable rule actions. The first statement models the actual decision making behavior of the rules engine as an applicable rule for this engine. This model of actual decision making behavior is important for redundant analysis. However, conflict analysis needs to apply a model of fictitious behavior of all applicable rules. This fictitious behavior reveals a conflict that remains hidden in the actual behavior of the rules engine.

不相容性約束圖59(亦稱作動作圖上之約束)係藉由動作推理器46建置,動作推理器46採用決策之定義52(視情況亦為不相容性約束之規格)作為輸入。動作推理器46亦接收來自衝突檢查器之請求以基於逐個需要檢查給定動作之相容性。動作推理器46亦可查驗規則集合隱含圖以提取相 關動作以進行檢查。舉例而言,動作推理器46可接收三個動作,亦即「接受Loan1」、「拒絕Loan1」及「將Loan1分類為高風險」。動作推理器46查核之前給定之相容性約束(或決策定義)且判定動作「接受Loan1」與「拒絕Loan1」不相容。動作推理器46因此創建使用述詞「isDone」來陳述無法進行此等動作中之一者的不相容性約束圖。因此,此圖表示不「進行」約束「接受」「Loan1」或不「進行」「拒絕」「Loan1」。 The incompatibility constraint map 59 (also referred to as the constraint on the action diagram) is built by the action reasoner 46, which uses the decision definition 52 (which is also the specification of the incompatibility constraint). Input. The action reasoner 46 also receives the request from the conflict checker to check the compatibility of the given action on a case-by-case basis. The action reasoner 46 can also check the rule set implicit map to extract the phase Turn off the action to check. For example, the action reasoner 46 can receive three actions, namely "accept Loan1", "reject Loan1", and "classify Loan1 as high risk". The action reasoner 46 checks the compatibility constraints (or decision definitions) given before and determines that the action "accept Loan1" is incompatible with "reject Loan1". The action reasoner 46 thus creates an incompatibility constraint map that uses the predicate "isDone" to state that one of these actions cannot be performed. Therefore, this figure shows that "Do not" "accept" "Loan1" or not "go" and "reject" "Loan1".

動作推理器46亦用於管理關於動作陳述之資訊且用於使用彼資訊來比較複合動作,諸如更多基本動作之序列。若此等動作序列利用變數來儲存計算之中間結果,則動作推理器46將在必要時用中間結果取代彼等變數。若動作推理器46必須檢查兩個複合動作(諸如,「接受Loan1;將Loan1分類為高風險;」與「將Loan1分類為高風險;拒絕Loan1;」)之相容性,則動作推理器46將試圖將此等動作序列變換成准許比較之適當形式。舉例而言,動作推理器46可將第一序列之基本動作重排序成「將Loan1分類為高風險;接受Loan1;」,此係因為基本動作中無一者會影響另一基本動作。動作推理器46接著可偵測到經重排序之動作序列與第二動作序列不相容,此係因為動作序列之最終元素不相容且動作序列之初始元素相同。 The action reasoner 46 is also used to manage information about action statements and to use the information to compare compound actions, such as sequences of more basic actions. If the sequence of actions utilizes a variable to store the intermediate result of the calculation, then action reasoner 46 will replace the variables with intermediate results as necessary. If the action reasoner 46 must check the compatibility of two compound actions (such as "accept Loan1; classify Loan1 as high risk;" and "classify Loan1 as high risk; reject Loan1;"), action reasoner 46 Attempts will be made to transform these sequences of actions into appropriate forms for permitting comparisons. For example, the action reasoner 46 may reorder the basic actions of the first sequence into "classify Loan1 as high risk; accept Loan1;" because none of the basic actions affects another basic action. The action reasoner 46 can then detect that the reordered sequence of actions is incompatible with the second sequence of actions because the final elements of the sequence of actions are incompatible and the initial elements of the sequence of actions are the same.

圖7為包括組件之間的互動之衝突偵測器48之組件圖。衝突偵測器48用於推行產生與測試方法以判定具有衝突決策之案件的家族。衝突偵測器48包含:已處理案件產生器 482及衝突檢查器484。 Figure 7 is a component diagram of a collision detector 48 that includes interaction between components. The conflict detector 48 is used to implement a family that generates and tests methods to determine cases with conflicting decisions. Conflict detector 48 includes: processed case generator 482 and conflict checker 484.

已處理案件產生器482使用規則集合適用性圖56產生已處理案件之家族70,亦即,使規則集合中之某一規則適用的案件之集合。此家族可相當一般且(例如)包括藉由規則中之一些規則處理的所有案件。 The processed case generator 482 uses the rule set applicability map 56 to generate a family 70 of processed cases, i.e., a set of cases for which a certain rule in the set of rules is applicable. This family can be quite general and, for example, include all cases handled by some of the rules.

衝突檢查器484接著判定此家族是否僅含有具有衝突決策之案件。衝突檢查器484出於此目的而使用規則集合隱含圖58,且衝突檢查器484向動作推理器46請求關於在此圖中出現之動作的不相容性約束59。若衝突檢查器484能夠在給定時限內證明已處理案件之家族70、規則集合隱含圖58及關於動作之不相容性約束59的合取不具有任何解決方案,則衝突檢查器484展示:已處理案件之家族70中的每一案件具有衝突決策。衝突偵測器48因此傳回已處理案件之此家族70作為其結果,即,具有衝突決策之案件54。然而,若衝突檢查器484能夠在給定時限內找到解決方案,則衝突檢查器484在已處理案件之家族中找到不具有衝突決策之案件。衝突偵測器48設法消除此案件及不具有衝突決策之所有類似案件。出於此目的,衝突檢查器484將不具有衝突決策之案件概括為不具有衝突決策之案件的家族72,不具有衝突決策之案件的家族72藉由測試(或約束)之集合來描述,且衝突檢查器484將不具有衝突決策之案件的家族72傳達至已處理案件產生器482。必然地,不具有衝突決策之案件的家族72為已處理案件之對應家族70的子集。在較佳實施例中,衝突檢查器484將案件之已處 理家族視為有限數目個子集且挑選包括不具有衝突決策之已找到案件的案件之子集。此子集變為不具有衝突決策之案件的家族72。 The conflict checker 484 then determines if the family contains only cases with conflicting decisions. The conflict checker 484 uses the rule set implicit graph 58 for this purpose, and the conflict checker 484 requests the action reasoner 46 for incompatibility constraints 59 regarding the actions that occur in this figure. If the conflict checker 484 is able to prove within the given time limit that the family of processed cases 70, the rule set implied map 58, and the join of the action incompatibility constraint 59 do not have any solution, the conflict checker 484 displays : Each of the families 70 of the processed cases has conflicting decisions. The conflict detector 48 thus returns this family 70 of processed cases as a result of the case 54 with conflicting decisions. However, if the conflict checker 484 is able to find a solution within a given time limit, the conflict checker 484 finds a case in the family of processed cases that does not have a conflicting decision. Conflict detector 48 seeks to eliminate this case and all similar cases that do not have conflicting decisions. For this purpose, the conflict checker 484 generalizes cases that do not have conflicting decisions to the family 72 of cases that do not have conflicting decisions, and the family 72 of cases that do not have conflicting decisions are described by a set of tests (or constraints), and The conflict checker 484 communicates the family 72 of cases that do not have conflicting decisions to the processed case generator 482. Inevitably, the family 72 of cases that do not have conflicting decisions is a subset of the corresponding family 70 of processed cases. In the preferred embodiment, the conflict checker 484 will have the case in place The family is considered a limited number of subsets and a subset of cases including those found cases that do not have conflicting decisions are selected. This subset becomes a family 72 of cases that do not have conflicting decisions.

已處理案件產生器482藉由將不具有衝突決策之案件的家族72中之案件及對應家族標記為不良者而消除該等案件。案件之不良家族為禁用之案件的家族。若案件違反特徵化不良家族之測試當中的至少一測試,則該案件不屬於不良家族。已處理案件產生器482將案件之不良家族置於最初為空之不良者儲存區49中。在計算已處理案件之新家族時,已處理案件產生器482確保所產生家族中之案件不在不良者儲存區49中,亦即,新近產生之家族中的案件中無一者屬於不良家族中之任一者。若已處理案件產生器482未找到已處理案件之任何新家族(由於已捨棄所有彼等家族),則方法停止用信號發出:未找到具有衝突決策之案件的家族。 The processed case generator 482 eliminates such cases by flagging the cases in the family 72 and the corresponding family of cases that do not have conflicting decisions. The bad family of the case is a family of banned cases. If the case violates at least one of the tests for the characteristic bad family, the case is not a bad family. The processed case generator 482 places the defective family of cases in the initially empty storage area 49. In calculating a new family of processed cases, the processed case generator 482 ensures that the case in the generated family is not in the bad person storage area 49, that is, none of the newly generated family cases are in the bad family. Either. If the processed case generator 482 does not find any new family of processed cases (since all of their families have been abandoned), then the method stops signaling: the family with the conflicting decision has not been found.

若此等組件中之一者達到時限,則發生特定情形。若已處理案件產生器482未找到已處理案件之任何家族,則整個方法僅停止,而不報告具有衝突決策之案件的任何家族。然而,若衝突檢查器既未在給定家族內找到不具有衝突決策之案件,亦不能夠證明不存在不具有衝突決策之案件,則程序可藉由捨棄已處理案件之整個家族而繼續。 If one of these components reaches the time limit, a specific situation occurs. If the processed case generator 482 does not find any family of processed cases, then the entire method only stops, and does not report any family of cases with conflicting decisions. However, if the conflict checker does not find a case in a given family that does not have a conflicting decision, nor can it prove that there is no case without a conflict decision, the procedure can continue by discarding the entire family of the processed case.

圖8說明針對圖1中給出之規則集合的衝突偵測器之執行追蹤步驟之概述。左行展示在已處理案件產生器482之操作之後的已處理案件之家族70的階段。右行展示在衝突檢 查器484之操作之後的不具有衝突決策之案件之家族72的階段。每一操作在於計算考慮某些特性之案件的家族。 Figure 8 illustrates an overview of the execution tracking steps of the collision detector for the set of rules given in Figure 1. The left row shows the stage of the family 70 of processed cases after the operation of the case generator 482 has been processed. Right line shows in conflict check The stage of family 72 of cases that do not have conflicting decisions after the operation of checker 484. Each operation consists in calculating a family of cases considering certain characteristics.

圖9至圖14更詳細展示圖8之各別操作。在圖8至圖14中,藉由修圓矩形定界之操作展示由衝突檢查器484或由已處理案件產生器定義的案件空間之一部分。 Figures 9 through 14 show the various operations of Figure 8 in more detail. In Figures 8 through 14, a portion of the case space defined by the conflict checker 484 or by the processed case generator is shown by the operation of the rounded rectangle delimitation.

參看圖9及圖8中之左上圖,不良者儲存區49最初為空的,此情形意謂已處理案件產生器482可產生已處理案件之任何家族。在此實例中,不良者儲存區49判定由單一貸款物件Loan1組成之已處理案件的家族。該家族含有此物件之金額至多$600k且負債比率至多35%之所有案件。已處理案件之此家族70可藉由以下測試(或約束)來描述:Loan1之金額至多$600k Loan1之負債比率至多35% Referring to the upper left diagram of Figures 9 and 8, the defective storage area 49 is initially empty, which means that the processed case generator 482 can generate any family of processed cases. In this example, the bad person storage area 49 determines the family of processed cases consisting of a single loan item Loan1. The family contains all cases in which the amount of the item is at most $600k and the debt ratio is at most 35%. This family of processed cases 70 can be described by the following test (or constraint): Loan1 amount up to $600k Loan1 debt ratio up to 35 %

參看圖10及圖8中之右上圖,已處理案件產生器482將此描述傳遞至衝突檢查器484。因為衝突檢查器484可僅考慮此家族中之案件,所以將案件空間中之所有其他區域劃掉。衝突檢查器484找到不具有衝突決策之案件且將其概括為不具有衝突決策之案件的以下家族:Loan1之金額至多$300k Loan1之負債比率至多35% Referring to the upper right diagram of FIGS. 10 and 8, the processed case generator 482 passes this description to the conflict checker 484. Because the conflict checker 484 can only consider cases in this family, all other areas in the case space are crossed out. The conflict checker 484 finds the following cases that do not have conflicting decisions and summarizes them as cases without conflicting decisions: Loan1 amounts up to $300k Loan1 has a debt ratio of up to 35 %

參看圖11及圖8中之左中圖,已處理案件產生器482將不具有衝突決策之案件的家族變換成不良案件以便捨棄此家族之所有元素。捨棄之不良家族藉由交叉影線及以下定義來指示: Loan1之金額至多$300k且Loan1之負債比率至多35% Referring to the left middle diagrams of Figures 11 and 8, the processed case generator 482 converts the family of cases without conflicting decisions into bad cases in order to discard all elements of the family. The abandoned family is indicated by cross-hatching and the following definitions: Loan1 amount is up to $300k and Loan1's debt ratio is up to 35 %

接下來,已處理案件產生器482產生已處理案件之新家族,已處理案件之新家族滿足不良者且因此不包括捨棄之案件中之任一者:Loan1之金額至多$600k Loan1之金額大於$300k Loan1之負債比率至多35% Next, the processed case generator 482 generates a new family of processed cases, the new family of processed cases meets the bad and therefore does not include any of the abandoned cases: Loan1 amount up to $600k Loan1 is greater than $300 k Loan1's debt ratio is up to 35 %

參看圖12及圖8中之右中圖。在傳達至衝突檢查器484時,檢查器找到不具有衝突決策之案件的新家族72。儘管此家族中之案件使兩個規則(亦即,d1及c1)適用,但衝突檢查器能夠找到解決方案,此係由於此等規則之動作不相衝突:Loan1之金額至多$600k Loan1之金額大於$300k Loan1之負債比率至多30% See the right middle figure in Figures 12 and 8. Upon communication to the conflict checker 484, the checker finds a new family 72 of cases that do not have conflicting decisions. Although the case in this family makes the two rules (ie, d1 and c1) applicable, the conflict checker can find a solution because the actions of these rules do not conflict: the amount of Loan1 is up to $600k Loan1 More than $300k Loan1's debt ratio is up to 30 %

參看圖13及圖8中之左下圖。此外,衝突檢查器484將此家族發送至已處理案件產生器,已處理案件產生器藉由創建該家族之不良者而捨棄該家族。將捨棄之家族劃掉且標示為新不良家族。已處理案件產生器482找到已處理案件之第三新家族70:Loan1之金額至多$600k Loan1之金額大於$300k Loan1之負債比率至多35% Loan1之負債比率大於30% See the lower left diagram in Figures 13 and 8. In addition, the conflict checker 484 sends the family to the processed case generator, and the processed case generator discards the family by creating a bad family. The abandoned family is crossed out and marked as a new bad family. The processed case generator 482 finds the third new family of the processed cases. 70: The amount of Loan1 is up to $600k. The amount of Loan1 is greater than $300k. The debt ratio of Loan1 is at most 35 % . The debt ratio of Loan1 is greater than 30 %.

參看圖14及圖8中之右下圖,衝突檢查器484不能夠在此家族中找到不具有衝突決策之案件。實際上,此家族中之每一案件使規則d1及d2適用,且此等規則執行不相容之動作「接受Loan1」及「拒絕Loan1」。因而,系統已找到具有衝突決策之案件的家族56。 Referring to the lower right diagram of Figures 14 and 8, the conflict checker 484 is not able to find cases in this family that do not have conflicting decisions. In fact, each of the cases in this family applies rules d1 and d2, and these rules perform incompatible actions "accept Loan1" and "reject Loan1". Thus, the system has found a family 56 of cases with conflicting decisions.

較佳實施例提供條件-動作規則之邏輯描述以及彼等規則之動作間的不相容性約束,但另一實施例可使用誘導推理引擎來誘導推理此等不相容性約束。 The preferred embodiment provides a logical description of the condition-action rules and incompatibilities between the actions of their rules, but another embodiment may use an induced inference engine to induce inference of such incompatibility constraints.

此誘導推理實施例將使用Robert Craven等人之文章「Expressive policy analysis with enhanced system dynamicity」中所描述的誘導推理做法。此操作找到表達准許或駁回動作之存取控制原則之規則間的衝突。該做法以邏輯語言表達規則,且使用誘導推理引擎找到既准許又駁回某一動作之案件。誘導推理引擎因此試圖證明藉由完成證據空間而准許及駁回某一動作之目標。 This induced inference embodiment will use the induced inference approach described in the article "Expressive policy analysis with enhanced system dynamicity" by Robert Craven et al. This operation finds conflicts between rules that express the access control principles of granting or rejecting actions. This approach expresses rules in a logical language and uses an inductive inference engine to find cases that both permit and dismiss an action. The induced reasoning engine therefore attempts to prove that the goal of an action is permitted and dismissed by completing the evidence space.

誘導推理引擎完成證據空間,而衝突偵測器藉由解算一系列可滿足性問題完成案件空間。取決於問題之特性,誘導推理引擎與衝突偵測器兩者可具有其各別優勢。應注意,誘導推理引擎之原理(亦即,推論找尋)回溯到已在1972年的期刊「Artificial Intelligence」中公佈的R.Reiter及E.Minicozzi之文章「A Note On Linear Resolution Strategies in Consequence-Finding」,而尚不知曉如何藉由精選系列之可滿足性問題解算彼等問題。若存在許多不相 容性約束且若存在具有衝突決策之許多案件,則後一做法具有優勢。 The inductive inference engine completes the evidence space, and the conflict detector completes the case space by solving a series of satisfiability problems. Depending on the nature of the problem, both the inductive inference engine and the collision detector may have their respective advantages. It should be noted that the principle of the inductive inference engine (ie, inference search) goes back to the article "R. Reiter and E. Minicozzi" published in the 1972 journal "Artificial Intelligence" "A Note On Linear Resolution Strategies in Consequence-Finding However, it is not known how to solve their problems by satisfying the satisfiability of the series. If there are many inconsistencies The latter approach has advantages if it is capacitively bound and if there are many cases with conflicting decisions.

圖15為已處理案件產生器482之組件圖。已處理案件產生器482包含:已處理案件預先解算器485;物件產生器486;已處理案件解算器487;及案件家族提取器488。已處理案件產生器482輸入為規則集合適用性圖56、不良者儲存區49,及(在供應時)不具有衝突決策之案件的家族72。若供應不具有衝突決策之案件的家族72,則不良者產生器150建置不良者圖152,不良者圖152表示構成家族之描述的測試之否定之析取。在將不良者圖152供應至已處理案件產生器482之前,已處理案件產生器482將不良者圖152添加至不良者儲存區49。 Figure 15 is a block diagram of the processed case generator 482. The processed case generator 482 includes: a processed case pre-solver 485; an object generator 486; a processed case solver 487; and a case family extractor 488. The processed case generator 482 inputs the family 72 of the rule set applicability map 56, the bad person storage area 49, and (when supplied) cases that do not have conflicting decisions. If the family 72 of the case that does not have the conflict decision is supplied, the bad person generator 150 establishes the bad person map 152, and the bad person map 152 represents the disjunction of the test that constitutes the description of the family. The processed case generator 482 adds the bad person map 152 to the bad person storage area 49 before supplying the bad person map 152 to the processed case generator 482.

已處理案件預先解算器485用於在給定規則集合適用性圖56之情況下建置規則執行個體適用性圖154。此舉之目的在於消除規則集合適用性圖56中之存在量詞,藉此用自由量詞約束之析取替換存在量化約束。存在量化約束表達:規則將與滿足規則條件之案件中之一些物件匹配。若案件由若干物件(亦即,被命名為Loan1及Loan2之若干貸款請求)組成,則諸如d1之規則將具有兩個執行個體。第一執行個體與Loan1匹配,且第二執行個體與Loan2匹配。若針對Loan1之規則d1的執行個體處理此案件或若針對Loan2之規則d1的執行個體處理此案件,則規則d1接著將處理由Loan1及Loan2組成之案件。已處理案件預先解算器485用針對Loan1之d1的執行個體處理案件或針對Loan2之 d1的執行個體處理此案件之陳述替換d1之某一執行個體處理案件的陳述。 The processed case pre-solver 485 is used to build the rule execution individual suitability map 154 given a set of rule suitability maps 56. The purpose of this is to eliminate the presence quantifiers in the rule set applicability graph 56, whereby the presence of the quantized constraints is replaced by the disjunction of the free quantifier constraints. There is a quantitative constraint expression: the rule will match some of the items in the case that satisfy the rule condition. If the case consists of several items (ie, several loan requests named Loan1 and Loan2), then rules such as d1 will have two execution individuals. The first execution individual matches Loan1 and the second execution individual matches Loan2. If the enforcement entity for rule d1 of Loan1 handles the case or if the case is handled by the enforcement entity for rule d1 of Loan2, rule d1 will then process the case consisting of Loan1 and Loan2. The processed case pre-solver 485 handles the case with an execution individual for d1 of Loan1 or for Loan2 The statement that the execution entity of d1 handles this case replaces the statement of one of the individual execution cases of d1.

物件產生器486藉由查驗規則範疇(亦即,藉由每一規則匹配之物件的數目及類型)創建針對每一類型之足夠數目個物件。物件產生器傳回諸如定義域{Loan1,Loan2}之物件定義域156,物件定義域156含有類型為貸款之兩個物件。已處理案件預先解算器485接著針對存在量化約束之每一變數自此定義域中選擇一物件,且藉由用選定值取代變數之每一次出現來使約束具現化。已處理案件預先解算器485針對可用以取代變數之值的每一組合創建此執行個體。已處理案件預先解算器485接著建置所有此等執行個體之析取,且因此獲得單一規則之規則執行個體適用性圖。已處理案件預先解算器485以此方式針對所有規則繼續進行,且藉由建置個別規則之規則執行個體適用性圖的析取來建置完整規則集合之總體規則執行個體適用性圖154。 The object generator 486 creates a sufficient number of objects for each type by examining the rule categories (i.e., the number and type of objects matched by each rule). The object generator returns an object definition field 156, such as the domain {Loan1, Loan2}, which contains two objects of the type loan. The processed case pre-solver 485 then selects an object from the defined domain for each variable in which the quantization constraint exists, and instantiates the constraint by replacing each occurrence of the variable with the selected value. The processed case pre-solver 485 creates this execution individual for each combination that can be used to replace the value of the variable. The processed case pre-solver 485 then constructs the disjunction of all such execution individuals, and thus obtains a single rule rule execution individual suitability map. The processed case pre-solver 485 continues in this manner for all rules, and the overall rule execution individual suitability map 154 of the complete rule set is constructed by performing the extraction of the individual suitability map by the rules of the individual rules.

鑒於案件可具有無限數目個物件,僅有限數目個物件為必要的,以用於執行衝突規則分析。因為考慮兩個規則之間的衝突為足夠的,所以不必分析在案件中出現之所有物件,而是僅分析用於匹配兩個規則之足夠數目。物件產生器486查驗藉由某一規則匹配之每一類型的物件,且判定藉由規則匹配此類型之物件的最大數目。若所有規則與類型為貸款之單一物件匹配,則針對類型為貸款之匹配的最大數目為1。若存在與類型為貸款之兩個物件匹配的規 則,則此數目為2。物件產生器486接著需要產生與藉由此最大數目指示之情形一樣多的每一類型之物件,以便確保每一規則與此所得物件定義域中之物件匹配。為了確保兩個規則與不同物件匹配,物件產生器456需要產生兩倍的物件,亦即,最大數目的加倍。此情形將確保方法完成,但可顯著地增加約束之執行個體的數目。良好原則在於以物件之小集合開始且針對此小集合執行分析。一旦完成,便可針對較大集合重複該方法(已知物件之數目係藉由規則與此類型之物件匹配的最大數目之加倍來定界)。 Since a case can have an infinite number of objects, only a limited number of objects are necessary for performing conflict rule analysis. Since it is sufficient to consider the conflict between the two rules, it is not necessary to analyze all the objects that appear in the case, but only the sufficient number to match the two rules. The object generator 486 checks each type of object that is matched by a certain rule and determines that the maximum number of items of this type is matched by rules. If all rules match a single item of the loan type, the maximum number of matches for the type of loan is 1. If there is a rule that matches two objects of type loan Then, the number is 2. The object generator 486 then needs to generate as many items of each type as indicated by this maximum number to ensure that each rule matches the object in the resulting object definition domain. To ensure that the two rules match different objects, the object generator 456 needs to produce twice the object, that is, the maximum number of doublings. This situation will ensure that the method is completed, but can significantly increase the number of enforced individuals of the constraint. The good principle is to start with a small collection of objects and perform an analysis on this small collection. Once completed, the method can be repeated for a larger set (the number of known objects is delimited by a doubling of the maximum number of rules matched to objects of this type).

因為規則d1、d2、d3、d4、c1皆與單一貸款物件匹配,所以在第一階段創建被稱作Loan1之單一貸款物件且創建此物件之存在量化適用性約束的執行個體為足夠的。已處理案件預先解算器485接著將以此方式替換所有存在量化適用性約束且創建自由量詞規則執行個體適用性圖。 Since the rules d1, d2, d3, d4, c1 all match a single loan object, it is sufficient to create a single loan object called Loan1 in the first stage and create an execution entity that quantifies the applicability constraint. The processed case pre-solver 485 will then replace all existing quantified applicability constraints and create a free quantifier rule execution individual suitability map in this manner.

已處理案件解算器487用於標示規則執行個體適用性圖154,使得此等標示與根節點一致,同時考慮圖中所表達之運算。已處理案件解算器487使用如約束程式化及命題定理證明中已知之搜尋及推斷方法。 The processed case solver 487 is used to mark the rule execution individual suitability map 154 such that the labels are consistent with the root node, taking into account the operations expressed in the graph. The processed case solver 487 uses known search and inference methods as defined in the constraint stylization and propositional theorem proving.

圖16為自由量詞規則執行個體適用性圖154之實例。已處理案件產生器482將規則執行個體適用性圖154及不良者圖152發送至已處理案件解算器487。若已處理案件解算器487未在給定時限內找到一致標示,則整個分析程序停止,且衝突偵測器用信號發出:其未找到考慮不良者儲存區49中之不良者的具有衝突決策之案件的任何家族。若已 處理案件解算器487找到一致標示,則其傳回已解算規則執行個體適用性圖158,如圖17中所展示。 16 is an example of a free quantifier rule execution individual suitability map 154. The processed case generator 482 sends the rule execution individual suitability map 154 and the bad person map 152 to the processed case solver 487. If the processed case solver 487 does not find a consistent flag within the given time limit, then the entire analysis process is stopped and the collision detector signals that it has not found a conflicting decision in consideration of the bad person in the bad place storage area 49. Any family of cases. If already Processing case solver 487 finds a consistent flag, which then returns the resolved rule execution individual suitability map 158, as shown in FIG.

圖17為針對圖16之實例的已解算規則執行個體適用性圖158。 17 is an illustration of an individual suitability map 158 for a solved rule for the example of FIG.

案件家族提取器488用於自已解算規則執行個體適用性圖158中提取類似案件之家族。提取器查驗根節點之子節點,且選擇標示為真之一子節點。因為根節點表示析取,所以找到為真之一析取為足夠的,以便確保整個析取為真。提取器接著查驗為表示此析取之節點的子代之所有基本測試。在已解算圖中,以下測試均被標示為真:Loan1之負債比率至多35% Loan1之金額至多$600k The case family extractor 488 is used in the self-solving rule execution individual applicability map 158 to extract a family of similar cases. The extractor checks the child nodes of the root node and selects one of the child nodes labeled true. Since the root node represents disjunction, it is sufficient to find one of the true ones to ensure that the entire disjunction is true. The extractor then checks all the basic tests for the children representing the nodes of this disjunction. In the solved chart, the following tests are marked as true: Loan1's debt ratio is up to 35 % Loan1 is up to $600k

滿足此等測試之任何案件因此將確保將析取及因此的整個析取標示為真。因此,滿足此等測試之任何案件為已處理案件。因此,測試之清單描述已處理案件之家族70,且已處理案件產生器482傳回已處理案件之家族70作為其結果。若給出不良者,則需要以相同方式處理不良者,從而將其他測試添加至家族描述。若相關測試中之一者經標示為假,則將其否定添加至案件家族描述。用於提取已處理案件之家族的其他原則可處理在已解算圖中出現之每一測試,且將該測試或該測試之否定包括於案件家族描述中。彼等原則將產生更特殊家族,且因此導致衝突偵測器之不同效能行為。 Any case that satisfies these tests will therefore ensure that the disjunction and hence the entire disjunction is marked as true. Therefore, any case that satisfies these tests is a processed case. Thus, the list of tests describes the family of cases 70 that have been processed, and the processed case generator 482 returns the family 70 of the processed cases as a result. If a bad person is given, the bad person needs to be handled in the same way, so that other tests are added to the family description. If one of the relevant tests is marked as false, then a negative is added to the case family description. Other principles for extracting a family of processed cases may process each test that appears in the solved graph and include the test or the negation of the test in the case family description. These principles will result in a more specific family and, as a result, different behavioral behaviors of conflict detectors.

一旦已處理案件產生器482計算了已處理案件之新家族 70,已處理案件產生器482便將已處理案件之新家族70發送至衝突檢查器484。 Once the processed case generator 482 has calculated a new family of processed cases 70. The processed case generator 482 sends the new family 70 of processed cases to the conflict checker 484.

圖18為衝突檢查器484及其主要組件之互動之組件圖。衝突檢查器484包含:物件提取器1802;衝突預先解算器1804;非衝突圖建置器1806;非衝突圖解算器1808;衝突報告器1810;案件家族提取器及概括器1812。 Figure 18 is a component diagram of the interaction of the conflict checker 484 and its major components. The conflict checker 484 includes: an object extractor 1802; a conflict pre-solver 1804; a non-collision map builder 1806; a non-conflicting graph calculator 1808; a conflict reporter 1810; a case family extractor and a summarizer 1812.

物件提取器1802用於建置在已處理案件之家族中出現的所有物件之物件定義域1814。此物件定義域1814為藉由已處理案件產生器482建構而成之物件定義域的子集。 The object extractor 1802 is used to build an object definition field 1814 for all objects that appear in the family of processed cases. This object definition field 1814 is a subset of the object definition fields constructed by the processed case generator 482.

衝突預先解算器1804用於使用物件定義域1814使規則集合隱含圖58中之所有通用量化約束具現化。衝突預先解算器1804針對量化約束之每一變數自物件定義域1814中選擇一值,且接著用所選定值取代變數之所有出現,從而產生規則隱含圖之自由量詞執行個體。衝突預先解算器1804產生量化約束之變數與物件定義域之間的每一可能值指派之執行個體。接著,預先解算器建置所得執行個體之合取以便產生單一規則之規則執行個體隱含圖。預先解算器以此方式處理所有規則,且接著建置每一規則之規則執行個體隱含圖的合取,從而產生整個規則集合之規則執行個體隱含圖1816。 The conflict pre-solver 1804 is for using the object definition field 1814 to cause the rule set to imply all of the general quantization constraints in FIG. 58 to be instantiated. The conflict pre-solver 1804 selects a value from the object definition field 1814 for each variable of the quantization constraint, and then replaces all occurrences of the variable with the selected value, thereby generating a free quantifier execution individual of the rule implicit map. The conflict pre-solver 1804 generates an execution individual for each possible value assignment between the variable of the quantization constraint and the object definition field. Next, the pre-solver constructs the conjunction of the resulting individual to produce a single rule with a rule execution individual implicit map. The pre-solver processes all the rules in this manner, and then constructs a rule for each rule to perform the conjunction of the individual hidden graphs, thereby generating a rule execution individual implied graph 1816 for the entire set of rules.

非衝突圖建置器1806用於建置非衝突圖1818,非衝突圖1818為已處理案件70、規則執行個體隱含圖1816及不相容性約束圖59之描述的合取。向動作推理器46請求不相容性約束。非衝突圖1818接著表示不具有衝突決策之已處理案 件的給定家族中之所有案件。將非衝突圖1818提交至非衝突圖解算器1808。 The non-conflicting map builder 1806 is used to build the non-conflicting graph 1818, which is the conjunction of the processed case 70, the rule execution individual implied graph 1816, and the incompatibility constraint graph 59. An incompatibility constraint is requested to action reasoner 46. Non-conflicting graph 1818 then represents a processed case that does not have a conflicting decision All cases in a given family. The non-conflicting graph 1818 is submitted to the non-conflicting graph operator 1808.

非衝突圖解算器1808使用搜尋及推斷方法來找到為真且考慮圖節點之運算的圖節點之標示。若非衝突圖解算器1808找到此標示,則非衝突圖解算器1808傳回已解算非衝突圖。 The non-conflicting graphical calculator 1808 uses a search and inference method to find the label of the graph node that is true and considers the operation of the graph node. If the non-conflicting graphical calculator 1808 finds this indication, the non-conflicting graphical calculator 1808 returns the resolved non-conflicting graph.

圖19展示對應於針對圖10中之操作找到的解決方案之實例已解算非衝突圖。出於可讀性起見,已省略表示已處理案件之家族的節點。在圖中出現案件家族描述之測試,且此等節點被直接標示以「真」。因為無法藉由解算器改變此標示,所以標記該標示。圖19為展示藉由粗點線標記無法改變之實例標示的已解算非衝突圖。 19 shows an example of a non-conflicting graph that has been solved corresponding to the solution found for the operation in FIG. For the sake of readability, nodes representing families of processed cases have been omitted. The test of the case family description appears in the figure, and these nodes are directly marked as "true". This flag is marked because the indicator cannot be changed by the solver. Figure 19 is a diagram showing a solved non-conflicting graph of an example indication that cannot be changed by a thick dotted line mark.

因為標示表達存在不具有衝突決策之案件的事實,所以衝突檢查器設法捨棄該案件及類似案件。出於此目的,衝突檢查器查驗表示基本測試且不關注量詞「isDone」之圖中之所有節點的真值。衝突檢查器藉由在測試經標示為「真」的情況下包括測試且藉由在測試經標示為「假」的情況下包括測試之否定來產生案件之無衝突家族的描述。對於圖19,此舉產生描述:Loan1之負債比率大於30% Loan1之負債比率至多35% Loan1之負債比率至多40% Loan1之金額至多$300k Loan1之金額至多$600k Loan1之金額至多$1000k Because the facts indicate that there are cases that do not have conflicting decisions, the conflict checker tries to discard the case and similar cases. For this purpose, the conflict checker verifies the true value of all nodes in the graph representing the basic test and not paying attention to the quantifier "isDone". The conflict checker generates a description of the conflict-free family of cases by including the test if the test is marked as "true" and by including a negative test in the case where the test is marked as "false." For Figure 19, this gives a description: Loan1's debt ratio is greater than 30 % Loan1's debt ratio is at most 35 % Loan1's debt ratio is up to 40 % Loan1's amount is up to $300k Loan1's amount is up to $600k Loan1's amount is up to $1000k

此家族可視情況藉由使用基於一致性之解釋技術來概括(例如,藉由家族之描述中的相關測試之偵測集合及藉由移除其他測試來概括遺漏案件之家族)。相關測試形成與規則集合適用性圖之合取不一致的測試之最小集合。為了達成不具有衝突決策之案件的類似減少,概括器使用規則執行個體隱含圖之否定。此步驟將允許衝突偵測器識別兩個相關測試,亦即:Loan1之金額至多$300k Loan1之負債比率至多35% This family can be generalized by using consistency-based interpretation techniques (eg, by detecting sets of related tests in the description of the family and by relining other tests to summarize the family of missing cases). The correlation test forms the smallest set of tests that are inconsistent with the conjunction of the rule set applicability map. In order to achieve a similar reduction in cases that do not have conflicting decisions, the summarizer uses rules to enforce the negation of individual implicit maps. This step will allow the conflict detector to identify two related tests, ie: Loan1 amount up to $300k Loan1 debt ratio up to 35 %

衝突檢查器接著將不具有衝突決策之案件的此家族發送至已處理案件產生器,使得已處理案件產生器捨棄不具有衝突決策之案件的該家族。若未使用概括,則已處理案件產生器將捨棄案件之較小集合,該情形意謂需要更多反覆以找到具有衝突決策之案件的家族,但此並不影響方法之總體結果。 The conflict checker then sends the family of cases that do not have conflicting decisions to the processed case generator, causing the processed case generator to discard the family of cases that do not have conflicting decisions. If no generalization is used, the processed case generator will discard the smaller set of cases, which means that more families need to be repeated to find the family of cases with conflicting decisions, but this does not affect the overall outcome of the method.

圖20為圖12中所描繪之程序的第二反覆之已解決非衝突圖。在此圖中,藉由「isDone」標示之兩個節點述詞經標示為「真」,亦即,表示「進行接受Loan1」之節點及「進行將Loan1分類為高風險」之節點。然而,因為此等動作相容,所以判定無衝突。 20 is a second, resolved, non-conflicting map of the program depicted in FIG. In this figure, the two node predicates marked by "isDone" are marked as "true", that is, the node indicating "accepting Loan1" and the node "classifying Loan1 as high risk". However, because these actions are compatible, it is determined that there is no conflict.

圖21為針對圖14中所描繪之最後反覆的非衝突圖。已處理案件之以下家族在此步驟中係作為輸入給出:Loan1之金額至多$600k Loan1之金額大於$300k Loan1之負債比率至多35% Loan1之負債比率大於30% Figure 21 is a non-conflicting diagram for the last iteration depicted in Figure 14. The following families of processed cases are given as input in this step: Loan1 amount up to $600k Loan1 amount is greater than $300k Loan1's debt ratio is up to 35 % Loan1's debt ratio is greater than 30 %

圖21為指示測試之圖,該等測試經標示為「真」且因為此標示無法藉由非衝突圖解算器改變,所以藉由粗點線標記該標示。為了將圖之根節點標示以「真」,必須以如所指示之方式來標示圖中之節點。然而,此標示違反表達以下情形之不相容性約束:「不進行接受Loan1」必須經標示為「真」或「不進行拒絕Loan1」必須經標示為「真」。因為此等節點經標示以「假」,且未進行選擇以導出此標示,所以圖21中之非衝突圖不具有解決方案。因此,已處理案件之給定家族僅含有具有衝突決策之案件。因此,衝突檢查器已找到具有衝突決策之案件的家族且傳回具有衝突決策之案件的家族之描述作為其結果。 Figure 21 is a diagram indicating the test, which is marked as "true" and because the indication cannot be changed by the non-conflicting graphical calculator, the indication is marked by a thick dotted line. In order to mark the root node of the graph as "true", the nodes in the graph must be marked as indicated. However, this label violates the incompatibility constraint that states that "Do not accept Loan1" must be marked as "true" or "no rejection of Loan1" must be marked as "true". Since these nodes are marked "false" and have not been selected to derive this indication, the non-conflicting map in Figure 21 does not have a solution. Therefore, a given family of cases that have been processed contains only cases with conflicting decisions. Thus, the conflict checker has found a family of cases with conflicting decisions and returns a description of the family of cases with conflicting decisions as a result.

規則制定者接著可鍵入強加針對此家族之所要處理的具較高優先權之規則。舉例而言,規則制定者可決定拒絕針對彼等案件之貸款請求:規則仲裁者1定義將Loan1設定為貸款,若Loan1之金額至多$600k且Loan1之金額大於$300k且Loan1之負債比率至多35%且Loan1之負債比率大於30% 則拒絕Loan1;規則制定者亦可將衝突案件之家族分裂成接受貸款之子集及拒絕貸款的另一子集。因此,具有衝突決策之所報告案件含有用於解決衝突之基本資訊。規則制定者因此可藉由撰寫具較高優先權之新規則來解決衝突,且此舉不需要進行現有規則之冗長調查及修改。此舉促進且簡化整個衝突解決程序。此處藉由為關鍵案件制定特定決策(及規則)來達成衝突解決,而非藉由在衝突規則間進行調整來達成衝突解決。 The rule maker can then type in the rules that impose higher priority on the family to process. For example, rule-makers may decide to reject loan requests for their case: Rule Arbitrator 1 defines Loan1 as a loan, if Loan1 amounts up to $600k and Loan1 amounts greater than $300k and Loan1's debt ratio is at most 35 % and Loan1's debt ratio greater than 30 % rejects Loan1; rule-makers can also split the family of conflict cases into a subset of accepted loans and another subset of rejected loans. Therefore, reported cases with conflicting decisions contain basic information for conflict resolution. Rule-makers can therefore resolve conflicts by writing new rules with higher priority, and this does not require lengthy investigations and modifications to existing rules. This promotes and simplifies the entire conflict resolution process. Conflict resolution is achieved here by formulating specific decisions (and rules) for key cases, rather than by resolving conflict rules.

可將整個方法反覆以找到具有衝突決策之案件的其他家族。出於此目的,總系統創建消除具有衝突決策之家族的不良者且將不良者添加至不良者儲存區。衝突偵測器接著將能夠找到具有衝突決策之新家族。最後,衝突偵測器將不再找到任何此家族,且方法停止。 The entire method can be repeated to find other families with conflicting decisions. For this purpose, the overall system creates a bad person who eliminates families with conflicting decisions and adds bad people to the bad person storage area. The collision detector will then be able to find new families with conflicting decisions. Finally, the collision detector will no longer find any of this family and the method stops.

現描述本發明之其他實施例。 Other embodiments of the invention are now described.

一般熟習此項技術者應清楚,較佳實施例之方法的全部或部分可合適地且有用地體現於包含經配置以執行方法之步驟之邏輯元件的一或多個額外邏輯裝置中,且此等邏輯元件可包含額外硬體組件、韌體組件或其組合。 It will be apparent to those skilled in the art that all or a portion of the method of the preferred embodiments can be suitably and usefully embodied in one or more additional logic devices including logic elements configured to perform the steps of the method, and Equal logic elements can include additional hardware components, firmware components, or a combination thereof.

熟習此項技術者應同樣地清楚,較佳實施例之功能組件的一些或全部可合適地體現於包含用以使用等效方法步驟執行等效功能性之邏輯元件的一或多個替代邏輯裝置中,且此等邏輯元件可包含若干組件,諸如,(例如)可程式化邏輯陣列或特殊應用積體電路中之邏輯閘。此等邏輯元件 可進一步體現於致能元件中,該等致能元件用於使用(例如)可使用固定或可傳輸載體媒體予以儲存及傳輸之虛擬硬體描述符語言在此陣列或電路中暫時地或永久地建立邏輯結構。 It will be equally apparent to those skilled in the art that some or all of the functional components of the preferred embodiments may be suitably embodied in one or more alternative logic devices including logic elements for performing equivalent functionality using equivalent method steps. And such logic elements can include several components, such as, for example, a logic gate in a programmable logic array or a special application integrated circuit. These logic elements Further embodied in an enabling component for temporarily or permanently using a virtual hardware descriptor language, such as a virtual hardware descriptor language that can be stored and transmitted using a fixed or transportable carrier medium, in the array or circuit Establish a logical structure.

應瞭解,亦可完全地或部分地在執行於一或多個處理器(圖中未圖示)上之軟體中合適地執行上文所描述之方法及配置,且可以攜載於諸如磁碟或光碟或其類似者之任何合適資料載體(圖中亦未圖示)上之一或多個電腦程式元件的形式來提供軟體。同樣地,用於資料傳輸之通道可包含所有描述之儲存媒體以及信號攜載媒體,諸如,有線或無線信號攜載媒體。 It will be appreciated that the methods and configurations described above may also be suitably implemented, in whole or in part, in software executing on one or more processors (not shown), and may be carried on, for example, a magnetic disk. The software is provided in the form of one or more computer program components on any suitable data carrier (not shown) of the optical disc or the like. Likewise, the channels for data transmission can include all of the described storage media as well as signal-carrying media, such as wired or wireless signal-carrying media.

本發明可進一步合適地體現為供電腦系統使用之電腦程式產品。此實施方案可包含一系列電腦可讀指令,該等電腦可讀指令或者固定於諸如電腦可讀媒體(例如,磁片、CD-ROM、ROM或硬碟)之有形媒體上,或者可使用數據機或其他介面器件而傳輸至電腦系統,該傳輸係在包括(但不限於)光學或類比通信線路之有形媒體上進行,或無形地使用包括(但不限於)微波、紅外線或其他傳輸技術之無線技術而進行。該系列電腦可讀指令體現本文中先前所描述之功能性的全部或部分。 The present invention can be further suitably embodied as a computer program product for use in a computer system. This embodiment may comprise a series of computer readable instructions either affixed to a tangible medium such as a computer readable medium (eg, magnetic disk, CD-ROM, ROM or hard disk) or may be used with data And other interface devices for transmission to a computer system on tangible media including, but not limited to, optical or analog communication lines, or intangible use including, but not limited to, microwave, infrared or other transmission technologies Conducted by wireless technology. The series of computer readable instructions embody all or part of the functionality previously described herein.

熟習此項技術者應瞭解,可以供許多電腦架構或作業系統使用之若干種程式設計語言來撰寫此等電腦可讀指令。另外,可使用包括(但不限於)半導體記憶體技術、磁性記憶體技術或光學記憶體技術之任何記憶體技術(目前的或 未來的)來儲存此等指令,或可使用包括(但不限於)光學通信技術、紅外線通信技術或微波通信技術之任何通信技術(目前的或未來的)來傳輸此等指令。據預期,可將此電腦程式產品分佈為具有隨附印刷或電子文件(例如,壓縮包裝軟體)之抽取式媒體,可藉由電腦系統將此電腦程式產品預載入於(例如)系統ROM或固定磁碟上,或可在網路(例如,網際網路或全球資訊網)上自伺服器或電子佈告欄分佈此電腦程式產品。 Those skilled in the art will appreciate that such computer readable instructions can be written in a number of programming languages for use with many computer architectures or operating systems. In addition, any memory technology including (but not limited to) semiconductor memory technology, magnetic memory technology or optical memory technology can be used (current or Future instructions to store such instructions, or any communication technology (current or future) including, but not limited to, optical communication techniques, infrared communication techniques, or microwave communication techniques may be used to transmit such instructions. It is contemplated that the computer program product can be distributed as removable media with accompanying printed or electronic files (eg, compressed packaging software) that can be preloaded into, for example, the system ROM by a computer system or On a fixed disk, this computer program product can be distributed from a server or bulletin board on a network (for example, the Internet or World Wide Web).

在替代例中,可以部署服務之電腦實施方法之形式實現本發明之較佳實施例,該電腦實施方法包含部署電腦程式碼之步驟,該電腦程式碼可操作以在部署至電腦基礎結構中且在電腦基礎結構上執行時使電腦系統執行方法之所有步驟。 In an alternative, a preferred embodiment of the present invention can be implemented in the form of a computer implemented method of deploying a service, the computer implemented method comprising the steps of deploying a computer code operable to be deployed in a computer infrastructure and Execution on the computer infrastructure causes the computer system to perform all steps of the method.

在另一替代例中,可以具有功能資料之資料載體的形式來實現本發明之較佳實施例,該功能資料包含用以在載入至電腦系統中且藉由該電腦系統操作時使該電腦系統能夠執行方法之所有步驟的功能電腦資料結構。 In another alternative, a preferred embodiment of the present invention may be implemented in the form of a data carrier having functional data for containing the computer when loaded into a computer system and operated by the computer system The system is capable of performing a functional computer data structure for all steps of the method.

熟習此項技術者應清楚,可對前述例示性實施例進行許多改良及修改而不脫離本發明之範疇。 It will be apparent to those skilled in the art that many modifications and changes may be made to the foregoing exemplary embodiments without departing from the scope of the invention.

10‧‧‧電腦系統節點 10‧‧‧Computer System Node

12‧‧‧電腦系統/伺服器 12‧‧‧Computer System/Server

14‧‧‧外部器件 14‧‧‧External devices

16‧‧‧處理器或處理單元 16‧‧‧Processor or processing unit

18‧‧‧匯流排 18‧‧‧ Busbar

20‧‧‧網路配接器 20‧‧‧Network adapter

22‧‧‧I/O介面 22‧‧‧I/O interface

24‧‧‧顯示器 24‧‧‧ display

28‧‧‧系統記憶體 28‧‧‧System Memory

30‧‧‧隨機存取記憶體(RAM) 30‧‧‧ Random Access Memory (RAM)

32‧‧‧快取記憶體 32‧‧‧Cache memory

34‧‧‧儲存系統 34‧‧‧Storage system

40‧‧‧規則管理系統 40‧‧‧Rules Management System

42‧‧‧已處理案件模型化工具 42‧‧‧Processed case modeling tools

44‧‧‧規則集合推論模型化工具 44‧‧‧ rule set inference modeling tool

46‧‧‧動作推理機器 46‧‧‧Action Reasoning Machine

48‧‧‧衝突偵測器 48‧‧‧Clash detector

49‧‧‧不良者儲存區 49‧‧‧Understanding storage areas

50‧‧‧規則集合 50‧‧‧ rule set

52‧‧‧決策之定義 52‧‧‧Definition of decision

54‧‧‧具有衝突決策之案件 54‧‧‧ Cases with conflict decision-making

56‧‧‧規則集合適用性圖/具有衝突決策之案件的家族 56‧‧‧ rule set applicability map/family with cases of conflict decision

58‧‧‧規則集合隱含圖 58‧‧‧ rule set implicit map

59‧‧‧不相容性約束圖 59‧‧‧Incompatibility Constraints

70‧‧‧已處理案件之家族 70‧‧‧The family of cases that have been processed

72‧‧‧不具有衝突決策之案件的家族 72‧‧‧Families without cases of conflict decision-making

150‧‧‧不良者產生器 150‧‧‧ Bad Producer

152‧‧‧不良者圖 152‧‧‧ Bad map

154‧‧‧規則執行個體適用性圖 154‧‧‧ rule implementation individual suitability map

156‧‧‧物件定義域 156‧‧‧object definition domain

158‧‧‧已解算規則執行個體適用性圖 158‧‧‧Resolved rule execution individual applicability chart

482‧‧‧已處理案件產生器 482‧‧‧Processed case generator

484‧‧‧衝突檢查器 484‧‧‧Clash Checker

485‧‧‧已處理案件預先解算器 485‧‧‧Processed case pre-solver

486‧‧‧物件產生器 486‧‧‧ Object Generator

487‧‧‧已處理案件解算器 487‧‧‧ handled case solver

488‧‧‧案件家族提取器 488‧‧‧ Case Family Extractor

1802‧‧‧物件提取器 1802‧‧‧ Object Extractor

1804‧‧‧衝突預先解算器 1804‧‧‧ conflict pre-solver

1806‧‧‧非衝突圖建置器 1806‧‧‧ Non-conflict map builder

1808‧‧‧非衝突圖解算器 1808‧‧‧ Non-conflicting graphic calculator

1810‧‧‧衝突報告器 1810‧‧‧Crisis Reporter

1812‧‧‧案件家族提取器及概括器 1812‧‧‧ Case Family Extractor and Generalizer

1814‧‧‧物件定義域 1814‧‧‧Object Definition Domain

1816‧‧‧規則執行個體隱含圖 1816‧‧‧ rule execution individual implied map

1818‧‧‧非衝突圖 1818‧‧‧ non-conflict map

1820‧‧‧無解決方案 1820‧‧‧No solution

1822‧‧‧已解算規則集合適用性圖 1822‧‧‧Solved rule set applicability map

圖1為提供為某些案件制定衝突決策之規則的實例之表格;圖2為以具有貸款金額軸及負債比率軸之二維案件空間描繪規則之狀態圖; 圖3為較佳實施例之組件圖;圖4為較佳實施例之規則管理系統之組件圖;圖5為用於描述藉由呈緊湊邏輯形式之規則集合處理的案件之規則集合適用性圖;圖6為用於描述適用規則之動作將藉由規則集合來執行的規則集合隱含圖;圖7為包括組件之間的互動之衝突偵測器之組件圖;圖8為針對圖1中給出之規則集合的衝突偵測器之執行追蹤步驟之概述流程圖;圖9至圖14更詳細展示圖8之每一追蹤步驟;圖15為已處理案件產生器之組件圖;圖16為自由量詞規則執行個體適用性圖154之實例;圖17為針對圖16之實例的已解算規則執行個體適用性圖158;圖18為包括互動流之衝突檢查器的組件圖;圖19為針對圖10之實例的已解算非衝突圖;圖20為針對圖12之實例的非衝突圖;及圖21為針對圖14之實例的非衝突圖。 Figure 1 is a table providing examples of rules for making conflict decisions for certain cases; Figure 2 is a state diagram for two-dimensional case space drawing rules with a loan amount axis and a liability ratio axis; 3 is a component diagram of a preferred embodiment; FIG. 4 is a component diagram of a rule management system of a preferred embodiment; and FIG. 5 is a diagram showing a suitability of a rule set for a case processed by a rule set in a compact logical form. Figure 6 is a block diagram of a rule set for describing the action of the applicable rule to be executed by the rule set; Figure 7 is a component diagram of the conflict detector including the interaction between the components; Figure 8 is for Figure 1 An overview flow chart of the execution tracking steps of the conflict detectors of the rule set is given; FIG. 9 to FIG. 14 show each of the tracking steps of FIG. 8 in more detail; FIG. 15 is a component diagram of the processed case generator; FIG. The free quantifier rule performs an example of the individual suitability map 154; FIG. 17 is a diagram of the individual suitability for the solved rule for the example of FIG. 16; FIG. 18 is a component diagram of the conflict checker including the interactive stream; The solved non-conflicting graph of the example of FIG. 10; FIG. 20 is a non-conflicting graph for the example of FIG. 12; and FIG. 21 is a non-conflicting graph for the example of FIG.

Claims (15)

一種用於管理一規則集合中之條件動作規則之方法,其包含:建置使該規則集合中之一些規則適用之案件的一家族;針對具有衝突決策之案件反覆地建置且測試該家族之案件的子集以便定位皆具有衝突決策之案件的一子集。 A method for managing conditional action rules in a set of rules, comprising: constructing a family of cases in which some of the rules in the set of rules apply; repeatedly establishing and testing the family for cases with conflicting decisions A subset of cases to locate a subset of cases that all have conflicting decisions. 如請求項1之方法,其進一步包含消除具有所有非衝突決策之案件的子集。 The method of claim 1, further comprising eliminating a subset of cases having all non-conflicting decisions. 如請求項1或2之方法,其中案件之該家族及該子集係使用基於約束之技術來模型化。 The method of claim 1 or 2, wherein the family of the case and the subset are modeled using a constraint-based technique. 如請求項1或2之方法,其進一步包含區別衝突決策與不相關決策,且因此避免假衝突之報告。 The method of claim 1 or 2, further comprising distinguishing between conflicting decisions and irrelevant decisions, and thus avoiding reporting of false conflicts. 如請求項1或2之方法,其進一步包含定義具有衝突決策之該等案件的一子集以使得一新規則使用該定義且消除該衝突。 The method of claim 1 or 2, further comprising defining a subset of the cases with conflicting decisions such that a new rule uses the definition and eliminates the conflict. 一種用於管理條件動作規則之方法,其包含:判定一規則集合中之規則的相容及不相容動作;建置用於測試該規則集合中之至少一規則的案件之一測試家族;判定該家族之案件的一相容子集以使得應用該子集中之適用規則僅導致相容動作;判定來自不在該相容子集中的家族中之該等案件之 一測試子集,藉此該測試子集中之該等案件中的一或多者具有與該規則集合中之該等規則之衝突動作的可能性;及在該測試子集中之所有該等案件具有衝突動作的情況下,判定該測試子集為一衝突子集,否則,定義具有該測試子集之一新測試家族且執行一新相容子集及一新測試子集的反覆判定,直至一新測試子集經判定為衝突為止。 A method for managing conditional action rules, comprising: determining compatible and incompatible actions of rules in a rule set; establishing a test family for testing one of at least one rule in the set of rules; determining a compatible subset of the family's case such that the applicable rules applying the subset only result in a compatible action; the determination of such cases from families not in the compatible subset a test subset whereby one or more of the cases in the test subset have a likelihood of conflicting actions with the rules in the set of rules; and all such cases in the test subset have In the case of a conflicting action, the test subset is determined to be a conflicting subset, otherwise, a new decision family having one of the test subsets is executed and a new compatible subset and a new test subset are repeatedly determined until one The new test subset is judged to be a conflict. 如請求項6之方法,其中案件之該家族及該子集係使用該規則集合中之該等規則的一約束模型來建置。 The method of claim 6, wherein the family of the case and the subset are constructed using a constraint model of the rules in the set of rules. 如請求項6之方法,其進一步包含編譯案件之該衝突子集及衝突動作的一報告。 The method of claim 6, further comprising compiling a conflicting subset of the case and a report of the conflicting action. 如請求項6至8中任一項之方法,其中每一家族及子集係藉由來自該規則集合之基元條件而特徵化。 The method of any one of clauses 6 to 8, wherein each family and subset is characterized by a primitive condition from the set of rules. 如請求項6之方法,其進一步包含判定用於添加至該規則集合以解決關於該衝突子集中之該等案件的該等衝突動作之至少一仲裁者規則。 The method of claim 6, further comprising determining at least one arbitrator rule for adding to the set of rules to resolve the conflicting actions regarding the cases in the conflicting subset. 一種用於管理條件動作規則之系統,其包含:一已處理案件模型化工具,其用於建置使一些規則適用之案件的一家族;一衝突偵測器,其用於針對具有衝突決策之案件反覆地建置且測試該家族之案件的子集以便定位皆具有衝突決策之案件的一子集。 A system for managing conditional action rules, comprising: a processed case modeling tool for constructing a family of cases for which some rules apply; a conflict detector for targeting conflicting decisions The case repeatedly builds and tests a subset of the family's cases in order to locate a subset of cases that all have conflicting decisions. 如請求項11之系統,其中該衝突偵測器經進一步調適以 用於消除具有所有非衝突決策之案件的子集。 The system of claim 11, wherein the conflict detector is further adapted to Used to eliminate subsets of cases with all non-conflicting decisions. 如請求項11至12中任一項之系統,其中該衝突偵測器經進一步調適以用於區別衝突決策與不相關決策,且因此避免假衝突之報告。 The system of any one of clauses 11 to 12, wherein the conflict detector is further adapted for distinguishing between conflicting decisions and irrelevant decisions, and thus avoiding reporting of false conflicts. 一種電腦程式產品,其包含電腦可讀記錄媒體,該電腦可讀記錄媒體上儲存有用於以衝突規則偵測案件之電腦可讀程式碼,該電腦可讀程式碼在載入至一電腦系統上且被執行時執行以下步驟:建置使一些規則適用之案件的一家族;反覆地建置且測試該家族之案件的子集,搜尋具有衝突決策之案件以便定位皆具有衝突決策之案件的一子集。 A computer program product comprising a computer readable recording medium having stored thereon a computer readable program code for detecting a case by conflicting rules, the computer readable code being loaded onto a computer system And when executed, perform the following steps: build a family of cases that apply some rules; repeatedly build and test a subset of the family's cases, search for cases with conflicting decisions to locate one of the cases with conflicting decisions Subset. 一種電腦程式,其儲存於一電腦可讀媒體上且可載入至一數位電腦之內部記憶體中,該電腦程式包含在該程式執行於一電腦上時用於執行如請求項1至4中任一項之方法的軟體程式碼部分。 A computer program stored on a computer readable medium and loadable into an internal memory of a digital computer, the computer program being included for execution in the request items 1 to 4 when the program is executed on a computer The software code portion of any of the methods.
TW101145170A 2011-12-21 2012-11-30 Detecting cases with conflicting rules TW201339857A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP11030672 2011-12-21

Publications (1)

Publication Number Publication Date
TW201339857A true TW201339857A (en) 2013-10-01

Family

ID=49770914

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101145170A TW201339857A (en) 2011-12-21 2012-11-30 Detecting cases with conflicting rules

Country Status (1)

Country Link
TW (1) TW201339857A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2521406A (en) * 2013-12-18 2015-06-24 Ibm Transforming rules into generalised rules in a rule management system
TWI646491B (en) * 2017-06-03 2019-01-01 森淨科技股份有限公司 Time-aware conflict detection method based on environmental supervision rules, time-aware conflict detection system, and agricultural environment control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2521406A (en) * 2013-12-18 2015-06-24 Ibm Transforming rules into generalised rules in a rule management system
TWI646491B (en) * 2017-06-03 2019-01-01 森淨科技股份有限公司 Time-aware conflict detection method based on environmental supervision rules, time-aware conflict detection system, and agricultural environment control system

Similar Documents

Publication Publication Date Title
Bellamy et al. AI Fairness 360: An extensible toolkit for detecting and mitigating algorithmic bias
JP2015502620A (en) Detecting cases with conflicting rules
JP2007526535A (en) Relational logic management system
Bhushan et al. Analyzing inconsistencies in software product lines using an ontological rule-based approach
Borrego et al. Automating correctness verification of artifact-centric business process models
Kuhlmann et al. Strengthening SAT-based validation of UML/OCL models by representing collections as relations
KR20230124104A (en) Natural solution language
Ardimento et al. Just-in-time software defect prediction using deep temporal convolutional networks
Shilov et al. Machine learning for enterprise modeling assistance: an investigation of the potential and proof of concept
Herd et al. Verification and validation of agent-based simulations using approximate model checking
Cabot From declarative to imperative UML/OCL operation specifications
Maggi et al. Explaining non-compliance of business process models through automated planning
TW201339857A (en) Detecting cases with conflicting rules
Graham Service oriented business rules management systems
Anand et al. An automated detection of inconsistencies in sbvr-based business rules using many-sorted logic
Silva et al. An approach based on machine learning for predicting software design problems
Arunkumar et al. LINGO: visually debiasing natural language instructions to support task diversity
Mora Segura et al. Modelling assistants based on information reuse: a user evaluation for language engineering
Blas et al. An ontology to document a quality scheme specification of a software product
Steinberger et al. Cross lifecycle variability analysis: Utilizing requirements and testing artifacts
Li et al. Self‐admitted technical debt detection by learning its comprehensive semantics via graph neural networks
Garcés et al. White-box modernization of legacy applications
Chen-Burger et al. Automating business modelling: a guide to using logic to represent informal methods and support reasoning
Guimarães et al. An automated patterns-based model-to-model mapping and transformation system for labeled property graphs
Goossens et al. GPT-3 for Decision Logic Modeling.