예제 #1
0
    def test_is_true_for_root_node(self):
        root_node = BayesNetNode("Cloudy")

        root_node.set_probablity(0.9, [True])

        self.assertTrue(root_node.is_true_for(0.4, {}))
        self.assertFalse(root_node.is_true_for(0.99, {}))
예제 #2
0
    def test_is_true_for_root_node(self):
        root_node = BayesNetNode("Cloudy")

        root_node.set_probablity(0.9, [True])

        self.assertTrue(root_node.is_true_for(0.4, {}))
        self.assertFalse(root_node.is_true_for(0.99, {}))
예제 #3
0
    def test_is_true_for_not_root_node(self):
        sprinkler_node = BayesNetNode("Sprinkler")
        rain_node = BayesNetNode("Rain")

        wet_grass_node = BayesNetNode("WetGrass")
        wet_grass_node.influenced_by(sprinkler_node, rain_node)

        wet_grass_node.set_probablity(0.99, [True, True])
        wet_grass_node.set_probablity(0.90, [True, False])
        wet_grass_node.set_probablity(0.90, [False, True])
        wet_grass_node.set_probablity(0, [False, False])

        self.assertTrue(wet_grass_node.is_true_for(0.5, {"Sprinkler" : True, "Rain" : True}))
        self.assertFalse(wet_grass_node.is_true_for(0.99876, {"Sprinkler" : True, "Rain" : True}))
예제 #4
0
    def test_is_true_for_not_root_node(self):
        sprinkler_node = BayesNetNode("Sprinkler")
        rain_node = BayesNetNode("Rain")

        wet_grass_node = BayesNetNode("WetGrass")
        wet_grass_node.influenced_by(sprinkler_node, rain_node)

        wet_grass_node.set_probablity(0.99, [True, True])
        wet_grass_node.set_probablity(0.90, [True, False])
        wet_grass_node.set_probablity(0.90, [False, True])
        wet_grass_node.set_probablity(0, [False, False])

        self.assertTrue(
            wet_grass_node.is_true_for(0.5, {
                "Sprinkler": True,
                "Rain": True
            }))
        self.assertFalse(
            wet_grass_node.is_true_for(0.99876, {
                "Sprinkler": True,
                "Rain": True
            }))