1234567891011121314151617181920212223242526272829 |
- import numpy as np
- import factorgraph as fg
- # Make an empty graph
- g = fg.Graph()
- # Add some discrete random variables (RVs)
- g.rv('a', 2)
- g.rv('b', 3)
- # Add some factors, unary and binary
- g.factor(['a'], potential=np.array([0.3, 0.7]))
- g.factor(['b', 'a'], potential=np.array([
- [0.2, 0.8],
- [0.4, 0.6],
- [0.1, 0.9],
- ]))
- # Run (loopy) belief propagation (LBP)
- iters, converged = g.lbp(normalize=True)
- print 'LBP ran for %d iterations. Converged = %r' % (iters, converged)
- print
- # Print out the final messages from LBP
- g.print_messages()
- print
- # Print out the final marginals
- g.print_rv_marginals()
|