public Assignment sample(FactorGraph mdl, int N) { // initForGraph (mdl); Assignment assn = initialAssignment(mdl); if (assn == null) throw new IllegalArgumentException( "GibbsSampler: Could not find feasible assignment for model " + mdl); Timing timing = new Timing(); for (int i = 0; i < burnin; i++) { assn = doOnePass(mdl, assn); } timing.tick("Burnin"); Assignment ret = new Assignment(); for (int i = 0; i < N; i++) { assn = doOnePass(mdl, assn); ret.addRow(assn); } timing.tick("Sampling"); return ret; }