pyMns is a python implementation for Markov Network solver, which read the UAI file (and UAI evidence as well) to do inference with some classical algorithms in Probabilistic Graph Model, including Variable Elimination (VE) and Belief Propagation (BP). Have fun!
# pyMNS.py
# Python Markov Network Solver
# pyMNS reads in an uai file with description of a Markov Network
# and outputs the partition function for this MN.
# Ref: http://www.cs.huji.ac.il/project/UAI10/fileFormat.php
# Version 0.4
# 1. Enlarged system recursion limit for t4.uai
# June 5, 2013
# Version 0.3
# 1. Added loopy Belief Propagation
# May 30, 2013
# Version 0.2
# 1. Added Variable Elimination algorithm
# 2. Added min-neighbors heuristic
# 3. Added support for evidence file
# 4. Added support for MAP inference
# 5. Added other ordering heuristics
# May 12, 2013
# Version 0.1
# Input: *.uai
# Output: partition function
# May 1, 2013
# daveti@cs.uoregon.edu
# http://daveti.blog.com
Project Name: pyMns
Destination: Python Markov Network Solver
Language: Python
IDE: Vim
Library:
Project Web: https://github.com/daveti/pymns
Git Read Only: https://github.com/daveti/pymns.git