/** * */ package org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.interfaces; import org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.exceptions.ParentConfigurationNotApplicableException; import org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.exceptions.RangeValueNotApplicableException; /** * @author robert_p * */ public interface PriorTable extends RVwithParents { /** * Returns the value of the prior table N_{i,j,k} for i,j,k. * The index i is the index of the node that "owns" the prior table, and is thus implicit. * @param parent_configuration_j to the right of the condition * @param node_i_range_value_index_k range_k value of the node left of the condition * @return the virtual count N_{i,j,k}. See RVwithParents Interface description * @throws ParentConfigurationNotApplicableException * @throws RangeValueNotApplicableException */ public double getVirtualCount(int parent_configuration_j, int node_i_range_value_index_k) throws ParentConfigurationNotApplicableException, RangeValueNotApplicableException; /** * Returns the value of the prior table N_{i,j} for i,j. * The index i is the index of the node that "owns" the prior table, and is thus implicit. * @param parent_configuration_j to the right of the condition * @return the virtual count N_{i,j}. See RVwithParents Interface description * @throws ParentConfigurationNotApplicableException */ public double getVirtualCount(int parent_configuration_j) throws ParentConfigurationNotApplicableException; }