Support other fitness than maximizing confidence in URE
ngeiswei opened this issue · 0 comments
The URE currently only supports maximizing confidence as its fitness function to guide chaining. It should support other kind of fitnesses, in particular, maximizing strength as well. This would be especially important for moving MOSES optimization step to the URE, because we are interested in candidates we are not only confident about their fitness estimations, but also that have high fitness estimations.
The C++ code involved is https://github.com/opencog/atomspace/blob/master/opencog/rule-engine/backwardchainer/Fitness.h, see also https://github.com/opencog/atomspace/blob/master/opencog/rule-engine/backwardchainer/BackwardChainer.cc#L361 for an example of its use.
It's likely that BITNodeFitness
will have to be properly adjusted when spread backward. For instance if we're after a high strength for some target, and the URE decides to expand that target with a deduction rule, then, the fitness function over the premises of deduction should be set such that maximize them will maximize strength on the target. That doesn't seem trivial, and moreover may require dependencies between fitnesses. The confidence fitness is really easy in comparison because in order to maximize the confidence of a conclusion, you merely need to maximize the confidence of its premises.