public void run() {
for (IInferenceAlgorithmListener listener : this.getInferenceAlgorithmListeners()) {
listener.onBeforeRun(this);
}
CPSCompilerMain.This().InitCompiler();
UDB2SDB uToS = new UDB2SDB();
SDB2UDB sToU = new SDB2UDB();
ProbabilisticNetwork pn = (ProbabilisticNetwork)this.getNetwork();
//save network to see queried result
//saveNetworkFile(new File(pn.getName()+".xml"), pn);
uToS.convert(pn);
//EDB.This().get("ROOT").print("");
CPSCompilerMain.This().compile("run(DMP);");
ProbabilisticNetwork newNet = sToU.convert(EDB.This().get("ROOT.ENGINES.DMP.NODES"));
this.setNetwork(newNet);
iteration_size = EDB.This().get("ROOT.ENGINES.DMP.ITERATION_SIZE").getDataByDouble();