[Development branch] Method "sumOutVariable" returns something that is neither a probability potential nor a utility potential

Issue #311 resolved
Manuel Luque created an issue

We have the next Javadoc documentation in a method "sumOutVariable" of the class DiscretePotentialOperations:

  • Input Parameters:

  • chanceVariable <code>Variable</code>

  • potentials <code>List</code> of <code>TablePotential</code>

  • Return:

  • <code>List</code> with two <code>TablePotential</code>, marginal probability and new utility in this order.

public static List<TablePotential> sumOutVariable(Variable chanceVariable, Collection<TablePotential> potentials)

However, if we call this metod with the argument 'potentials' containing two instances of TablePotential such as:

  • The first element is a table whose only value is 0.0, and no variables and no criterion.

  • The second element is a table whose only value is 0.0, with a variable with a single state, and with a criterion.

Then the method "sumOutVariable" returns one potential whose role is "unspecified", but without criterion. Thus, the output is neither a probability potential nor a utility potential.

(Note: such potential cannot be classified as a utility potential because its criteria is null. However, as far as I know, role "unspecified" should not be used with probability potentials, as these kind of potentials have other roles such as "CONDITIONAL_PROBABILITY" or "JOINT_PROBABILITY").