Esempio n. 1
0
 def test_log_probability_proposals_FiniteWithoutBVArgs(self):
     # import the grammar
     from Grammars import FiniteWithoutBVArgs
     self.G = FiniteWithoutBVArgs.g
     # the RegenerationProposal class
     rp = RegenerationProposal(self.G)
     # sample from G 100 times
     for i in range(100):
         X = self.G.generate('START')
         # propose to a new tree
         Y = rp.propose_tree(X)[0]
         # count probability manually
         prob = FiniteWithoutBVArgs.log_probability(Y)
         # check that it's equal to .log_probability()
         self.assertTrue(math.fabs(prob - Y.log_probability()) < 0.00000001)
Esempio n. 2
0
 def test_log_probability_FiniteWithoutBVArgs(self):
     # import the grammar
     from Grammars import FiniteWithoutBVArgs
     self.G = FiniteWithoutBVArgs.g
     # sample from G 100 times
     for i in range(100):
         t = self.G.generate('START')
         # count probability manually
         prob = FiniteWithoutBVArgs.log_probability(t)
         
         # Debugging
         #print t, prob, t.log_probability(), prob - t.log_probability()
         #t.fullprint()
         
         # check that it's equal to .log_probability()
         self.assertTrue(math.fabs(prob - t.log_probability()) < 0.00000001)