Oracle Determinations Engine and the Inference Cycle


The Oracle Determinations Engine is an inferencing engine which works with Oracle Policy Modeling rules to conduct queries and make decisions based on those rules. In short, it is the 'brain' that does the thinking based on the rules you have defined. For example, if you set the value of "the person is a pensioner" to true, the Determinations Engine may infer that "the person is eligible for a discount at the university bookstore" is also true.

Each time you conduct a new assessment against a rulebase using the Determinations Engine (for example, creating a new interview in Web Determinations) you are creating what is called a rulebase session. The Determinations Engine does not maintain the state of its rulebase sessions, so each time you end a rulebase session your data will be forgotten by the Determinations Engine unless you explicitly save it.

The process of querying and inferencing during a rulebase session is known as the Inference Cycle.

The Inference Cycle

The Inference Cycle is the cycle of question and answer which operates on rules to replicate the decision making process.

The following diagram illustrates the Inference Cycle:

 

The diagram above shows the following steps:

  1. Start (investigate goal): An attribute is specified as the goal attribute to be investigated.
  2. Goal Known?: The Determinations Engine determines whether or not the goal attribute has a value.
  3. Question Search: The Determinations Engine finds all known (or unknown) attributes that influence the goal based on the rules in the rulebase (an inferencing process known as backward chaining), then reports any influencing attributes that are unknown. Another way of thinking about this is that the Determinations Engine is asking, "What do I need to find out to prove this attribute?".
  4. Enter Additional Data: The Determinations Engine waits for a value(s) to be input for the attribute(s) raised by the Question Search.
  5. Infer Attributes: The rule decision tree is scanned by the Determinations Engine in the reverse direction, drawing conclusions based on attributes that are now known. This inferencing process is known as forward chaining. Another way of thinking about this is that the Determinations Engine is asking, "What can I conclude based on the collection of what I know?".
  6. Finish: Once the goal attribute is known, the Determinations Engine reports the value and how it reached that decision (if requested). The Determinations Engine generates a Decision Report (if required) using backward chaining, as described above.

 

The Inference Cycle repeats steps 2 to 5 until the goal attribute is known.

 

See also: