diff options
author | Cathy Yeh <cathy@driver.xyz> | 2017-11-13 14:42:52 -0800 |
---|---|---|
committer | Cathy Yeh <cathy@driver.xyz> | 2017-11-17 13:48:16 -0800 |
commit | 77d8b323d4f6e05ca97d9cbef43ac85fd8040d61 (patch) | |
tree | bd589afff10efce13b6f017e544958454f3a8ef7 /beliefs/utils/random_variables.py | |
parent | 6a1b35f5bf122232d058ed0f3ea19c15629c0cbc (diff) | |
download | beliefs-77d8b323d4f6e05ca97d9cbef43ac85fd8040d61.tar.gz beliefs-77d8b323d4f6e05ca97d9cbef43ac85fd8040d61.tar.bz2 beliefs-77d8b323d4f6e05ca97d9cbef43ac85fd8040d61.zip |
copy scripts from lgs branch
Diffstat (limited to 'beliefs/utils/random_variables.py')
-rw-r--r-- | beliefs/utils/random_variables.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/beliefs/utils/random_variables.py b/beliefs/utils/random_variables.py new file mode 100644 index 0000000..1a0b0f7 --- /dev/null +++ b/beliefs/utils/random_variables.py @@ -0,0 +1,21 @@ + + +def get_reachable_observed_variables_for_inferred_variables(model, observed=set()): + """ + After performing inference on a BayesianModel, get the labels of observed variables + ("reachable observed variables") that influenced the beliefs of variables inferred + to be in a definite state. + + INPUT + model: instance of BayesianModel class or subclass + observed: set of labels (strings) corresponding to vars pinned to definite + state during inference. + RETURNS + dict, of form key - source label (a string), value - a list of strings + """ + if not observed: + return {} + + source_vars = model.get_unobserved_variables_in_definite_state(observed) + + return {var: model.reachable_observed_variables(var, observed) for var in source_vars} |