py-bbn icon indicating copy to clipboard operation
py-bbn copied to clipboard

Generated graphs may not be DAG

Open vangj opened this issue 1 year ago • 0 comments

from pybbn.generator.bbngenerator import generate_multi_bbn, convert_for_exact_inference
from pybbn.sampling.sampling import LogicSampler


bbn = convert_for_exact_inference(*generate_multi_bbn(20, max_iter=5_000))
sampler = LogicSampler(bbn)
print(sampler.nodes)

samples = sampler.get_samples(n_samples=5, seed=37)

print(samples)

Will result in the following.

Traceback (most recent call last):
  File "/Users/super/git/summer-camp/web/pyodide/data/generate.py", line 9, in <module>
    samples = sampler.get_samples(n_samples=5, seed=37)
  File "/opt/anaconda3/lib/python3.9/site-packages/pybbn/sampling/sampling.py", line 138, in get_samples
    val = table.get_value(p, sample=sample)
  File "/opt/anaconda3/lib/python3.9/site-packages/pybbn/sampling/sampling.py", line 65, in get_value
    k = ','.join([f'{i}={sample[i]}' for i in self.parent_ids])
  File "/opt/anaconda3/lib/python3.9/site-packages/pybbn/sampling/sampling.py", line 65, in <listcomp>
    k = ','.join([f'{i}={sample[i]}' for i in self.parent_ids])
KeyError: 2

vangj avatar Feb 28 '23 05:02 vangj