com.github.cschen1205.ess.engine.RuleInferenceEngine Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-expert-system-shell Show documentation
Show all versions of java-expert-system-shell Show documentation
Expert system shell implemented in Java
The newest version!
package com.github.cschen1205.ess.engine;
import com.github.cschen1205.ess.enums.ConditionType;
import java.util.List;
/**
* Created by xschen on 11/9/16.
*/
public interface RuleInferenceEngine {
void addRule(Rule rule);
void clearRules();
//forward chaining
void infer();
//backward chaining
Clause infer(String goalVariable, List unproved_conditions);
RuleBuilder newRule();
RuleBuilder newRule(String name);
void clearFacts();
boolean isFact(Clause goal, List unproved_conditions);
WorkingMemory getKnowledgeBase();
List getFacts();
void addFact(Clause c);
List getFactsAboutVariable(String variable);
List match();
List getRules();
void addFact(String name, String value);
void addFact(String name, ConditionType conditionType, String value);
Rule getRule(int index);
}