Package org.opencyc.constraintsolver

Provides a finite domain constraint solver optimized to work with OpenCyc.

See:
          Description

Class Summary
ArgumentTypeConstrainer Provides argument type consistency checking for candidate backchaining rules, and also provides additional constraint rules derived from argument type constraints on the restricting constraint rules using the input constraint rules as a starting point.
ConstraintProblem ConstraintRule object to model the attributes and behavior of a constraint problem.
ForwardCheckingSearcher The ForwardCheckingSearcher object to perform forward checking search for one or more solutions to the ConstraintProblem.
Main Main program for a finite domain constraint solver optimized to work with the OpenCyc Knowledge Base.
NodeConsistencyAchiever The NodeConsistencyAchiever object achieves node consistency for the parent ConstraintProblem object.
ProblemParser ProblemParser object to model the attributes and behavior of a parser which inputs the constraint problem representation and sets up the parent ConstraintProblem object.
RuleEvaluator RuleEvaluator object evaluates constraint rules for the parent ConstraintProblem object.
UnitTest Provides a suite of JUnit test cases for the org.opencyc.constraintsolver package.
ValueDomains ValueDomains object to model the attributes and behavior of value domains of variables during forward checking search for one or more solutions to the ConstraintProblem.
VariableDomainPopulator VariableDomainPopulator object to contain information about variables and applicable rules, and which determines the best rule to populate each variable.
VariablePopulationItem VariablePopulationItem object to model the attributes of constraint variable value population by candidate rules.
VariablesByAscendingDomainSizeComparator Implements a Comparator to sort variables for the checkForwardNonEvaluatableRule method of the ForwardCheckingSearcher class.
VariableSelectionAttributes VariableSelectionAttributes object to model the attributes and sort behavior of a variable and its associated selection attributes.
VariableSelectionComparator Implements a Comparator to sort variables for the selectVariable method of the ForwardCheckingSearcher class.
 

Package org.opencyc.constraintsolver Description

Provides a finite domain constraint solver optimized to work with OpenCyc.

A finite domain constraint problem consists of a set of variables each of which has a finite set of possible values. The problem also has a set of constraint rules which are relations among one or more of the constraint variables. The solution to the constraint problem consists of the set of variable bindings to domain values which satisfy all the constraint rules.

This implementation of a finite domain constraint solver features the Forward Checking algorithm, which dramatically prunes the solution search space. Furthermore, a unique technique of lazy variable domain extension reduces the size of the variable domain data structure and the associated effort to maintain them.

OpenCyc enables backchaining inference to be combined with constraint solving so that the constraint rules may be transformed via modus ponens, and additional rules from the Knowledge Base can be automatically added to the problem together with their argument type constraints.

Many Knowledge Base queries have a form which is suitable for imput to the OpenCyc constraint solver.

This package is supported by the org.opencyc.cycobject package.