Browse Prior Art Database

Efficient Matching of Multivariable Premises in a Correlation

IP.com Disclosure Number: IPCOM000102581D
Original Publication Date: 1990-Dec-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 6 page(s) / 258K

Publishing Venue

IBM

Related People

Campbell, RR: AUTHOR [+2]

Abstract

Described is a method for matching multivariable premises in a rule. The technique can be used in the inference mechanisms of artificial intelligence (AI) applications, such as expert systems. The values of premise variables in premises comprising the left-hand-side of a rule are compared. The action of the right-hand-side of a rule is taken only if the comparisons yield a match. The method is extended to allow the specification of a "not matching" rule.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 33% of the total text.

Efficient Matching of Multivariable Premises in a Correlation

       Described is a method for matching multivariable premises
in a rule.  The technique can be used in the inference mechanisms of
artificial intelligence (AI) applications, such as expert systems.
The values of premise variables in premises comprising the
left-hand-side of a rule are compared.  The action of the
right-hand-side of a rule is taken only if the comparisons yield a
match.  The method is extended to allow the specification of a "not
matching" rule.

      This method employs a simple algorithm to find all premises
that satisfy the left-hand-side (LHS) of a rule.  A rule, for
purposes of this discussion, is a set of generic premises and an
associated action.  A generic premise may have several specific
premises that satisfy it.  For example, a generic premise such as
 "there exists a person who wears gloves" would be satisfied by
asserted premises such as
 "John wears brown gloves" and "Mary wears red gloves".

      The set of all asserted premises that satisfy a generic premise
is called a premise group.  Hereafter, asserted premises will be
referred to simply as premises.

      This method relies on the value of variables to distinguish
between premises in a premise group.  The example generic premise
 "there exists a person who wears gloves" would, for purposes of this
discussion, be expressed
 "<who> wears <color> gloves" where "<who>" and "<color>" represent
variables of the generic premise.

      For a rule to be considered, every generic premise in its LHS
must be satisfied by at least one premise.  This is true even if the
LHS includes a "not matching" generic premise.  In that case, a
separate rule is needed to take action in the event that a generic
premise is not satisfied by any premises.

      After establishing that the generic premises in the LHS have
all been satisfied, the rule processor examines the premise group of
the first "matching premise" in the LHS.  A matching premise is a
generic premise that specifies variables to compare to variables of
other generic premises in the same rule.

      NOTE:  the same generic premise can, in different rules,
specify different variables to be compared.

      The rule processor creates a key for each premise in the
premise group by catenating the values of the specified variables.  A
list (Premise List) is created for each unique key.  Premises that
yield the same key are placed on the same Premise List.  This key
will be used for matching with premises in other premise groups in
the LHS of the rule. Premise Lists are ordered by key data to
expedite searching.

      For each subsequent matching premise in the LHS of the rule,
the rule processor finds each premise in the premise group and
compares the key data to the Premise Lists' keys. If a match is
found, the premise is added to the appropriate Premise List and a
match indicator associated with...