/** * Creates a new EF_BayesianNetwork object given a {@link DynamicBayesianNetwork} object. * @param dbn a {@link DynamicBayesianNetwork} object. */ public EF_DynamicBayesianNetwork(DynamicBayesianNetwork dbn){ this.bayesianNetworkTime0 = new EF_BayesianNetwork(); this.bayesianNetworkTimeT = new EF_BayesianNetwork(); this.bayesianNetworkTime0.setDistributionList(dbn.getConditionalDistributionsTime0().stream().map(dist -> dist.<EF_ConditionalDistribution>toEFConditionalDistribution()).collect(Collectors.toList())); this.bayesianNetworkTimeT.setDistributionList(dbn.getConditionalDistributionsTimeT().stream().map(dist -> dist.<EF_ConditionalDistribution>toEFConditionalDistribution()).collect(Collectors.toList())); }
staticVar = variables.getVariableByName(dynamicVariables.getVariableById(j).getName() + "_t0"); cdist = Serialization.deepCopy(dbn.getConditionalDistributionsTime0().get(j)); cdist.getConditioningVariables().stream().forEachOrdered(cdvar -> parentList.add(variables.getVariableByName(cdvar.getName() + "_t0")));
double sampledValue = network.getConditionalDistributionsTime0().get(var.getVarID()).getUnivariateDistribution(dataPresent).sample(random); dataPresent.setValue(var, sampledValue);
dynVar = model.getDynamicVariables().getVariableByName(MAPvarName); conDist0 = Serialization.deepCopy(model.getConditionalDistributionsTime0().get(dynVar.getVarID())); conDistT = Serialization.deepCopy(model.getConditionalDistributionsTimeT().get(dynVar.getVarID()));