docs: public double getUnnormalizedProbability(Assignment assignment) {
      Preconditions.checkArgument(assignment.containsAll(variables.getVariableNumsArray()),
          "Invalid assignment %s to factor graph on variables %s", assignment, variables);
      double probability = 1.0;
      for (Factor factor : factors) {
        double factorProb = factor.getUnnormalizedProbability(assignment);
        probability *= factorProb;
      }
      return probability;
    }