@Override public DynamicBayesianNetwork getLearntDynamicBayesianNetwork() { BayesianNetwork bnTime0 = this.parallelVBTime0.getLearntBayesianNetwork(); BayesianNetwork bnTimeT = this.svbTimeT.getLearntBayesianNetwork(); DynamicVariables dynamicVariables = this.dynamicDAG.getDynamicVariables(); DynamicBayesianNetwork dbn = new DynamicBayesianNetwork(this.dynamicDAG); for (Variable dynamicVariable : dynamicVariables) { ConditionalDistribution dynamicDist = dbn.getConditionalDistributionTime0(dynamicVariable); ConditionalDistribution staticDist = bnTime0.getConditionalDistribution(bnTime0.getVariables().getVariableByName(dynamicVariable.getName())); staticDist.setVar(dynamicVariable); staticDist.setConditioningVariables(dynamicDist.getConditioningVariables()); dbn.setConditionalDistributionTime0(dynamicVariable,staticDist); } for (Variable dynamicVariable : dynamicVariables) { ConditionalDistribution dynamicDist = dbn.getConditionalDistributionTimeT(dynamicVariable); ConditionalDistribution staticDist = bnTimeT.getConditionalDistribution(bnTimeT.getVariables().getVariableByName(dynamicVariable.getName())); staticDist.setVar(dynamicVariable); staticDist.setConditioningVariables(dynamicDist.getConditioningVariables()); dbn.setConditionalDistributionTimeT(dynamicVariable,staticDist); } return dbn; }