Ejemplo n.º 1
0
def testChurchPairProgram1():

  def pairify(K):
    ripl = loadChurchPairProgram(K)
    return lambda : ripl.infer(100)

  timing.assertConstantTime(pairify)
Ejemplo n.º 2
0
def testReferencesProgram1():

  def refify(K):
    ripl = loadReferencesProgram(K)
    return lambda : ripl.infer(100)

  timing.assertConstantTime(refify)
Ejemplo n.º 3
0
def testMVNAsymptotics():
    def particulate(num_obs, epsilon):
        ripl = get_ripl()
        ripl.load_prelude()
        ripl.assume("mu", "(multivariate_normal (zeros 2) (id_matrix 2))")
        # A slow procedure to compute f(m) = m[0:2] * 1.0
        ripl.assume(
            "f",
            "(lambda (m) (map (lambda (i) (* 1.0 (lookup m i))) (range 0 2)))")
        ripl.assume("y",
                    "(lambda () (multivariate_normal (f mu) (id_matrix 2)))")
        for _ in range(num_obs):
            ripl.observe("(y)", val.vector(scipy.stats.norm.rvs(0, 1.0, 2)))
        ripl.infer("(mh default all 1)")

        def do_infer():
            ripl.infer("(subsampled_mh default all 10 3 %f false 0 false 10)" %
                       epsilon)

        return do_infer

    timing.assertConstantTime(lambda n: particulate(n, 0.5),
                              verbose=True,
                              acceptable_duration=100,
                              desired_sample_ct=40)

    timing.assertConstantTime(lambda n: particulate(n, 0.1),
                              verbose=True,
                              acceptable_duration=100,
                              desired_sample_ct=40)
Ejemplo n.º 4
0
def checkBernoulli(maker):
    raise SkipTest(
        "AAA does not actually make proposals constant-time, for some reason.")

    def test_fun(num_obs):
        ripl = get_ripl()
        ripl.assume("coin", maker)
        for _ in range(num_obs):
            ripl.observe("(coin)", True)
        return lambda: ripl.infer("(resimulation_mh default one 10)")

    timing.assertConstantTime(test_fun)