waynebhayes/SANA

[Development] Objective measures

Opened this issue · 2 comments

Hi,

I'm going through the redesign document, and there is no mention of scoring functions/objective measures. Should we add an abstract class? I'm picturing the decision process as follows:

boolean AlignerClass::shouldChange() {
    Evaluator scoringFunction = this.getEvaluator(); // Generic scoring class
    Score newScore = scoringFunction.incrementalChange(source, oldTarget, newTarget);
    Score incScore = newScore - oldScore;
    float probability = calculateProbability(score, currentTemperature);
    return (incScore >= 0 or randomReal(gen) <= badProbability);
}

Obviously, the terminology can change, but what should we call the generalized class?

Yes, this would be a great idea. Pasha and I didn't get that far into the design. As far as SANA 2.0 is concerned, we should flesh out our skeleton design before we do any logic implementation.

As for the naming, you could call it something like ObjectiveFunction.