示例#1
0
 def test_get_value(self):
     factor = Factor(self.random_variables)
     factor.add_value([1, 3, 2], 10).add_value([2, 4, 2],
                                               20).add_value([2, 5, 2], 30)
     self.assertEqual(factor.get_value([1, 3, 2]), 10)
     self.assertEqual(factor.get_value([2, 4, 2]), 20)
     self.assertEqual(factor.get_value([2, 5, 2]), 30)
     self.assertEqual(factor.get_value([1, 4, 2]), 0)
     self.assertEqual(factor.get_value([2, 3, 2]), 0)
示例#2
0
 def test_get_inverse(self):
     factor = Factor(self.random_variables)
     factor.add_value([1, 3, 2], 10).add_value([2, 4, 2],
                                               20).add_value([2, 5, 2], 30)
     factor = factor.get_inverse()
     self.assertEqual(factor.get_value([1, 3, 2]), 1 / 10)
     self.assertEqual(factor.get_value([2, 4, 2]), 1 / 20)
     self.assertEqual(factor.get_value([2, 5, 2]), 1 / 30)
     self.assertEqual(factor.get_value([1, 4, 2]), float("inf"))
     self.assertEqual(factor.get_value([2, 3, 2]), float("inf"))
示例#3
0
 def test_get_constant_multiplied(self):
     factor = Factor(self.random_variables)
     factor.add_value([1, 3, 2], 10).add_value([2, 4, 2],
                                               20).add_value([2, 5, 2], 30)
     factor = factor.get_constant_multiplied(2)
     self.assertEqual(factor.get_value([1, 3, 2]), 20)
     self.assertEqual(factor.get_value([2, 4, 2]), 40)
     self.assertEqual(factor.get_value([2, 5, 2]), 60)
     self.assertEqual(factor.get_value([1, 4, 2]), 0)
     self.assertEqual(factor.get_value([2, 3, 2]), 0)
示例#4
0
 def test_get_normalized(self):
     factor = Factor(self.random_variables)
     factor.add_value([1, 3, 2], 10).add_value([2, 4, 2],
                                               20).add_value([2, 5, 2], 30)
     factor = factor.get_normalized()
     self.assertAlmostEquals(1 / 6, factor.get_value([1, 3, 2]))
     self.assertAlmostEquals(1 / 3, factor.get_value([2, 4, 2]))
     self.assertAlmostEquals(1 / 2, factor.get_value([2, 5, 2]))
     self.assertAlmostEquals(0, factor.get_value([1, 4, 2]))
     self.assertAlmostEquals(0, factor.get_value([1, 5, 2]))
     self.assertAlmostEquals(0, factor.get_value([2, 3, 2]))