aboutsummaryrefslogtreecommitdiff
path: root/beliefs/utils/math_helper.py
diff options
context:
space:
mode:
authorCathy Yeh <cathy@driver.xyz>2017-12-03 20:38:28 -0800
committerCathy Yeh <cathy@driver.xyz>2017-12-03 20:38:28 -0800
commit26b43410569044aff46053cae7c68862825dd4ec (patch)
treeb184df84d416e2ddf837b25baadff4f9feaaa250 /beliefs/utils/math_helper.py
parent6a1b35f5bf122232d058ed0f3ea19c15629c0cbc (diff)
parentc906bd37fba63ba706cc3b7802bfb18ffb05ee9a (diff)
downloadbeliefs-088be1be23f115a126fd4a2d4e861aad8ea78de2.tar.gz
beliefs-088be1be23f115a126fd4a2d4e861aad8ea78de2.tar.bz2
beliefs-088be1be23f115a126fd4a2d4e861aad8ea78de2.zip
LGS-164 belief propagation for polytrees, special case of OR cpds, refactored from LGSv0.0.2
Diffstat (limited to 'beliefs/utils/math_helper.py')
-rw-r--r--beliefs/utils/math_helper.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/beliefs/utils/math_helper.py b/beliefs/utils/math_helper.py
new file mode 100644
index 0000000..a25ea68
--- /dev/null
+++ b/beliefs/utils/math_helper.py
@@ -0,0 +1,19 @@
+"""Random math utils."""
+
+
+def is_kronecker_delta(vector):
+ """Returns True if vector is a kronecker delta vector, False otherwise.
+ Specific evidence ('YES' or 'NO') is a kronecker delta vector, whereas
+ virtual evidence ('MAYBE') is not.
+ """
+ count = 0
+ for x in vector:
+ if x == 1:
+ count += 1
+ elif x != 0:
+ return False
+
+ if count == 1:
+ return True
+ else:
+ return False