Pro/3 evaluates inexact rule networks in a top-down (backward chaining) manner, although this will appear to the user as bottom-up (forward chaining). The reason for this is that an inexact rule can be evaluated only after all the rules it is calling, have been evaluated. The rules at the "bottom" of the network (query and question rules) will thus be evaluated first. Query rules are evaluated by submitting a query to the PROLOG-type inference engine, while question rules are served to the user who is requested to provide an answer.

The user can be served many questions during the evaluation of the network, and two input facilities are provided to make the interactions with user more effective, i.e. by reducing the number of dialogs by question clustering and question series. This is of particular importance when the user performs the evaluation with the Pro/3 web client, since the processing of many dialogs involve web server, MySQL transactions etc. and thus takes time.

Question series and clusters are not different types of inexact rules, they are simply user interface extensions of the question-type inexact rule, and they are stored as sentences in the KB.

 

QUESTION CLUSTERS

A question cluster is a list of two or more question rules which will be presented in a single dialog. Let's look at an example from the MC KB.

Example

To reduce the number of interactions with the user, we decide to serve all the general preference type question rules to the user at the start of the evaluation. This is accomplished by the following question cluster sentence:

question cluster with prompt "General preferences", rule list bike size preference, bike size preference importance, high speed importance, brand preferences, country of origin preferences, passenger capacity requirements, touring requirement, touring requirement importance and road type requirement and no parameter list is an inexact rule input facility for rule bike is suitable!
 

Let's look at the meaning of each data element:

DATA ELEMENT

SEMANTICS

prompt Used as title for the dialog window. The prompt can contain embedded parameters.
rule list The rules to be included in the dialog (in presentation sequence).
parameter list The list of formal parameters to the question cluster. Note the simplified parameter concept for question series. Since the question cluster is a sentence and not an inexact rule, there is no call to the question cluster, thus no process where actual parameter values are assigned to the formal parameters. A simple parameter name match is used instead, whereby the actual value of a formal parameter in the given rule (next data element), with the same name as a formal parameter name of the question cluster, will be used as actual value for the question cluster' parameter.
rule (in the predicate type) The rule referencing the question cluster. The question cluster will be processed when this rule is evaluated (and not out of context). In principle it does not matter which rule you specify here, however in practice you should find a rule which precedes the underlying question rules, and as much as possible a rule where the question rules included is relevant. It is a waste of effort to present the user with questions which in the end have no bearing on the end result. If the question cluster is placed such that it is missed out altogether, then the underlying question rules will be served to the user (if necessary). In other words, mistakes in the use of a question clusters will not have any impact on the end result.
The question cluster will be invoked upon evaluation of the bike is suitable rule. Note however that this rule has a context call (i.e. that the bike evaluated meets the price constraints), thus, the question cluster will be evaluated only after (and if) it is ascertained that bike is suitable is in context.

The cluster will be presented in the dialog shown under:

 

 

All question rules in the cluster are defined with answer alternatives. Thus, the answers to the questions are made by selecting from a list-button control (the question's default value is pre-selected). If a question rule had been defined without answer alternatives, then an edit field would be used in place of the list-button (also preset with the default value).

The question-mark buttons to the left are used to display the corresponding question rule annotation in the rectangular text field above. The text just to the right of the question-mark button is the question rule's name. The text in the middle is the actual question text (with embedded parameters actualized if any). The text to the right is the answer's value required domain.

 

QUESTION  SERIES

A question series is useful when the same question rule will be evaluated several times with different parameters. The question series input facility reduces this to a single interaction with the user. Let's look at another example from the MC KB:

 

Example

A question rule (bike brand preference) has the following question text:

What`s your preference for [this name] bikes? [STRONG PREFERENCE; SOME PREFERENCE; NEUTRAL; SOME PREFERENCE AGAINST; STRONG PREFERENCE AGAINST]

The question will be repeated each time a different name actual parameter is given, i.e. each time a bike from a new manufacturer is evaluated (the [this name] part of the question text will then be substituted with the manufacturer name, e.g. What`s your preference for Honda bikes?

The following question series will present the user with one dialog only:

the question series with prompt "Bike brand preferences", rule bike brand preference, parameter name, format NL, query text "value of name where manufacturer makes bike" and no parameter list is an inexact rule input facility for rule bikes that meet brand preferences!

Let's look at the meaning of each data element:

DATA ELEMENT

SEMANTICS

prompt Used as title for the dialog window. The prompt can contain embedded parameters.
rule The question rule handled by the question series.
parameter The embedded parameter (parameter name) in the question text, for which actual values will be retrieved from the KB.
format The format of the query (query text), i.e. NL or PR.
query text The query which will be run to retrieve actual values for the embedded parameter. This must be a non-deterministic data element reference query.
parameter list The list of formal parameters to the question series. Note the simplified parameter concept for question series. Since the question series is a sentence and not an inexact rule, there is no call to the question series, thus no process where actual parameter values are assigned to the formal parameters. A simple parameter name match is used instead, whereby the actual value of a formal parameter in the given rule (next data element), with the same name as a formal parameter name of the question series, will be used as actual value for the question series' parameter.
rule (in the predicate type) The rule referencing the question series. The question series will be processed when this rule is evaluated (and not out of context). In principle it does not matter which rule you specify here, however in practice you should find a rule which precedes the underlying question rule, and as much as possible a rule where the question rule is relevant. It is a waste of effort to present the user with questions which in the end have no bearing on the end result. If the question series is placed such that it is missed out altogether, then the underlying question rule will be served to the user (if necessary). In other words, mistakes in the use of a question series will not have any impact on the end result.
The question series will be processed as soon as it is determined that the bikes that meet brand preferences  is in context:

The question series query will then be run and a dialog constructed dynamically on the basis of the manufacturer names found in the KB:

The evaluation of the inexact rule network will continue after the dialog has been completed. Pro/3 will remember the 12 questions above and the corresponding answers. Whenever the question rule bike brand preference subsequently is evaluated, Pro/3 will first check if the question text generated by the rule matches any of the remembered questions, and if so use the corresponding answer rather than serving the question to the user.

The bike brand preference question rule is defined with answer alternatives. Thus, the answer to the questions are made by selecting from a list-button control (the question's default value is pre-selected). If the question rule had been defined without answer alternatives, then an edit field would be used in place of the list-button (also preset with the default value).