/** * {@inheritDoc} */ @Override public long getTimeIDOfLastEvidence() { return this.assignment.getTimeID(); }
/** * {@inheritDoc} */ @Override public long getTimeIDOfLastEvidence() { return this.assignment.getTimeID(); }
/** * {@inheritDoc} */ @Override public long getTimeIDOfLastEvidence(){ return this.assignment.getTimeID(); }
/** * {@inheritDoc} */ @Override public void addDynamicEvidence(DynamicAssignment assignment_) { if (this.sequenceID != -1 && this.sequenceID != assignment_.getSequenceID()) throw new IllegalArgumentException("The sequence ID does not match. If you want to change the sequence, invoke reset method"); if (this.timeID >= assignment_.getTimeID()) throw new IllegalArgumentException("The provided assignment is not posterior to the previous provided assignment."); this.assignment = assignment_; }
/** * {@inheritDoc} */ @Override public void addDynamicEvidence(DynamicAssignment assignment_) { if (this.sequenceID!= -1 && this.sequenceID != assignment_.getSequenceID()) throw new IllegalArgumentException("The sequence ID does not match. If you want to change the sequence, invoke reset method"); if (this.timeID>= assignment_.getTimeID()) throw new IllegalArgumentException("The provided assignment is not posterior to the previous provided assignment."); this.assignment = assignment_; }
/** * {@inheritDoc} */ @Override public void addDynamicEvidence(DynamicAssignment assignment_) { if (this.sequenceID!= -1 && this.sequenceID != assignment_.getSequenceID()) throw new IllegalArgumentException("The sequence ID does not match. If you want to change the sequence, invoke reset method"); if (this.timeID>= assignment_.getTimeID()) throw new IllegalArgumentException("The provided assignment is not posterior to the previous provided assignment."); this.assignment = assignment_; }
System.exit(-15); if (dynAssig.getTimeID()>=nTimeSteps || dynAssig.getTimeID()<0) { System.out.println("Error: Evidence time ID out of the range"); System.exit(-20); int time = (int) dynamicAssignment.getTimeID(); Set<Variable> dynAssigVariables = dynamicAssignment.getVariables(); for (Variable dynVariable : dynAssigVariables) {
public void runInference() { if (this.timeID==-1 && assignment.getTimeID()>0) { this.infAlgTime0.setModel(this.bnTime0); this.infAlgTime0.setEvidence(null); if (assignment.getTimeID()==0) { this.infAlgTime0.setModel(this.bnTime0); this.infAlgTime0.setEvidence(updateDynamicAssignmentTime0(this.assignment)); if ((this.assignment.getTimeID() - this.timeID)>1) this.moveWindow((int)(this.assignment.getTimeID() - this.timeID - 1)); this.timeID=this.assignment.getTimeID(); this.infAlgTimeT.setModel(this.bnTimeT); this.infAlgTimeT.setEvidence(updateDynamicAssignmentTimeT(this.assignment));
public static void main(String[] args) throws Exception{ Stopwatch watch = Stopwatch.createStarted(); DynamicBayesianNetworkGenerator dbnGenerator = new DynamicBayesianNetworkGenerator(); dbnGenerator.setNumberOfContinuousVars(0); dbnGenerator.setNumberOfDiscreteVars(3); dbnGenerator.setNumberOfStates(2); DynamicBayesianNetwork network = DynamicBayesianNetworkGenerator.generateDynamicNaiveBayes(new Random(0), 2, true); DynamicBayesianNetworkSampler sampler = new DynamicBayesianNetworkSampler(network); sampler.setSeed(0); DataStream<DynamicDataInstance> dataStream = sampler.sampleToDataBase(3,2); DataStreamWriter.writeDataToFile(dataStream, "./datasets/simulated/dnb-samples.arff"); System.out.println(watch.stop()); for (DynamicAssignment dynamicdataassignment : sampler.sampleToDataBase(3, 2)){ System.out.println("\n Sequence ID" + dynamicdataassignment.getSequenceID()); System.out.println("\n Time ID" + dynamicdataassignment.getTimeID()); System.out.println(dynamicdataassignment.outputString()); } } }
System.out.println("Evidence at time " + evid.getTimeID()); evid.getVariables().forEach(variable -> System.out.println(variable.getName() + ": " + Integer.toString((int) evid.getValue(variable)))); System.out.println();
public void runInference(){ if (this.timeID==-1 && assignment.getTimeID()>0) { this.vmpTime0.setEvidence(null); this.vmpTime0.runInference(); if (assignment.getTimeID()==0) { if ((this.assignment.getTimeID() - this.timeID)>1) this.moveWindow((int)(this.assignment.getTimeID() - this.timeID - 1)); this.timeID=this.assignment.getTimeID(); this.vmpTimeT.setEvidence(this.assignment); this.vmpTimeT.runInference();
int time = (int) dynamicAssignment.getTimeID(); Set<Variable> dynAssigVariables = dynamicAssignment.getVariables(); for (Variable dynVariable : dynAssigVariables) {
int time = (int) dynamicAssignment.getTimeID(); Set<Variable> dynAssigVariables = dynamicAssignment.getVariables(); for (Variable dynVariable : dynAssigVariables) {
/** * {@inheritDoc} */ @Override public void runInference() { try { domainObject.uncompile(); if (assignment.getTimeID()==0) { this.setAssignmentToHuginModel(this.assignment, 0); this.timeID = 0; } else{ this.timeID = this.getTimeIDOfLastEvidence(); this.setAssignmentToHuginModel(this.assignment, 1); } domainObject.triangulateDBN(Domain.H_TM_TOTAL_WEIGHT); domainObject.compile(); } catch (ExceptionHugin exceptionHugin) { exceptionHugin.printStackTrace(); } }