Esempio n. 1
0
 def __init__(self, name, values, logarithmetic=True):
     super(DiscreteVariableNode, self).__init__(name)
     self.values = values
     self.belief = constant_factor([name], {name: values}, len(values),
                                   logarithmetic)
     self.is_observed = False
     self.logarithmetic = logarithmetic
Esempio n. 2
0
 def add_neighbor(self, node):
     self.neighbors[node.name] = node
     self.incoming_message[node.name] = constant_factor(
         self.alpha.variables, self.alpha.variable_values,
         self.alpha.factor_length, self.alpha.logarithmetic)
     self.outgoing_message[
         node.name] = self.alpha - self.incoming_message[node.name] + 1
Esempio n. 3
0
    def init_messages(self):
        for (name, node) in self.neighbors.iteritems():
            self.incoming_message[name] = constant_factor(
                self.alpha.variables, self.alpha.variable_values,
                self.alpha.factor_length, self.alpha.logarithmetic)

            self.outgoing_message[
                name] = self.alpha + 1 - self.incoming_message[node.name]
Esempio n. 4
0
 def init_messages(self):
     for (name, node) in self.neighbors.iteritems():
         self.incoming_message[name] = constant_factor(
             [name], {name: node.values}, len(node.values),
             self.factor.logarithmetic)
Esempio n. 5
0
 def add_neighbor(self, node, **kwargs):
     self.neighbors[node.name] = node
     self.incoming_message[node.name] = constant_factor(
         [node.name], {node.name: node.values}, len(node.values),
         self.factor.logarithmetic)