Code for MAP inference in graphical models

This code is written by Amir Globerson, David Sontag, Do Kook Choe, & Yitao Li,
and implements the algorithms described in the following three papers:

  Efficiently Searching for Frustrated Cycles in MAP Inference.
  David Sontag, Do Kook Choe, and Yitao Li
  Uncertainty in Artificial Intelligence (UAI) 28. Catalina Island, United States. 2012.

  Tightening LP Relaxations for MAP using Message Passing
  David Sontag, Talya Meltzer, Amir Globerson, Tommi Jaakkola and Yair Weiss
  Uncertainty in Artificial Intelligence (UAI). Helsinki, Finland. 2008. 

  Fixing max-product: Convergent message passing algorithms for MAP LP-relaxations
  Amir Globerson, Tommi Jaakkola
  Advances in Neural Information Processing Systems (NIPS) 21. Vancouver, Canada. 2007. 

MPLP is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation

MPLP is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
General Public License for more details.

You should have received a copy of the GNU General Public License
along with MPLP; see the file gpl.txt.  If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.


1) Run 'make'. This will compile the C++ code and create the binary 'solver'.

2) Run the solver as follows:

      ./solver grid4x4.uai grid4x4.uai.evid 234 MPE grid4x4.log

          or simply

      ./solver grid4x4.uai

3) The MAP assignment will be the *last* line of the ".MPE" file that is created.
More details: You can download several more example UAI files here:

We made two extensions to the UAI file format:

Data used in UAI 2012 paper