package org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.impl; import java.util.Set; import org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.exceptions.ParentConfigurationNotApplicableException; import org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.exceptions.RangeValueNotApplicableException; import org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.interfaces.PriorTable; import org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.interfaces.RandomVariable; public class NaivePriorTable extends AbstractRVwithParents implements PriorTable{ private double n_equiv; public NaivePriorTable(int n_equiv, RandomVariable targetRV, Set<RandomVariable> parents_of_targetRV) { super(targetRV, parents_of_targetRV); this.n_equiv = (double) n_equiv; } public double getVirtualCount(int parent_configuration_j, int node_i_range_value_index_k) throws ParentConfigurationNotApplicableException, RangeValueNotApplicableException { return this.n_equiv/((double) (this.getK_max()* (double) this.getJ_max())); } public double getVirtualCount(int parent_configuration_j) throws ParentConfigurationNotApplicableException { return this.n_equiv/ (double) this.getJ_max(); } }