Esempio n. 1
0
  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;
  }