Skip to content
Snippets Groups Projects
Commit 1ac60d24 authored by Hendrik Buschmeier's avatar Hendrik Buschmeier
Browse files

Allowing soft-evidence to be used when unrolling the DBN.

parent 888d5084
No related branches found
No related tags found
No related merge requests found
......@@ -320,12 +320,22 @@ class TwoTBN(BayesianNetwork):
cpd.add_variable(node)
node.set_cpd(cpd)
if not initial:
node.set_probability(1., [(node, state[node_t])])
if isinstance(state[node_t], basestring):
node.set_probability(1., [(node, state[node_t])])
else:
# Set soft evidence
#print "from twotbn: setting " + str(node) + " cpt to " + str(state[node_t])
node.get_cpd().set_probability_table(state[node_t])
else:
for node0 in state:
if node0.name == node.name:
node.set_probability(1., [(node, state[node0])])
continue
if node0.name == node_t.name:
if isinstance(state[node0], basestring):
node.set_probability(1., [(node, state[node0])])
else:
# Set soft evidence
#print "from b0: setting " + str(node) + " cpt to " + str(state[node0])
node.get_cpd().set_probability_table(state[node0])
break
return self
......@@ -354,6 +364,9 @@ class TwoTBN(BayesianNetwork):
node1 = self.get_node(node_name_t)
self.__initial_nodes.append((node0, node1))
def get_initial_nodes(self):
return self.__initial_nodes
def has_initial_node_by_name(self, node_name):
'''
Check if this instance has an inital node with name node_name.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment