forward chaining exhaustive application of rules over facts... forward chain UNTIL no change occurs DO FOR each rule in the ruleset DO IF all antecedents are facts AND not all consequents are facts THEN add consequents to facts (avoid duplicates) & note that a change has occurred
backward chaining goal directed... bwd-chain( goal, rules ) IF goal is in facts THEN report success FOR each rule in ruleset DO IF goal is one of rule's consequents THEN call bwd-chain on each antecedent & check result IF all tests are proved THEN add consequents to facts & report success
certainty factors (CVs) range -1 (absolute false) to +1 (absolute true) facts have CVs rules CVs - attenuation factors rule antecedent CVs combined... and / or / not => min / max / negate... result multiplied by attenuation factor......to give consequent CVs
Combining CVs from multiple rules assume 2 rules giving cv1 & cv2... cv1 & cv2 are both +ve cv1 + cv2 - (cv1 * cv2) cv1 & cv2 are both –ve cv1 + cv2 + (cv1 * cv2) one +ve & the other –ve (cv1 + cv2) / (1 - min( abs(cv1), abs(cv2) ))
user interfaces usability engineering feedback what? why? how?
conflict resolution refraction do not re-use rule until conditions changed recency prefer rules most recently found in WS specificity prefer most specific confidence prefer "better rules"