Jess Architecture Diagram WORKING MEMORY INFERENCE ENGINE EXECUTION ENGINE PATTERN MATCHER RULE BASE Here you can see how all the parts fit together. AGENDA
Recursive stack-based version of Back-chaining using Propositional Logic could be modified to handle... variables (using unification) negation context (fail if sub-goal is repeated) Backchain(KB,query) stack {query} // initialize return BC(KB,stack) BC(KB,stack) if stack empty, return True goal stack.pop() if goalKB, return BC(KB,stack) // a known fact for each rule a1..angoal in KB: stack.push(a1..an) result BC(KB,stack) if result=True, return True remove a1..an from stack return False