Max-Product Algorithm
Table of contents
What is the most probable joint configuration \((a^*, b^*, c^*, d^*) = \arg \max_{a,b,c,d} p(a,b,c,d)\)?
- Calculate \(max p(a,b,c,d)\)
- Backtrack to find \((a^*, b^*, c^*, d^*) = \arg \max_{a,b,c,d}\)
Algorithm
In a tree argmaxes can be done by two passes of the max-product algorithm
- Pick one node as the root node
- Initialize:
- Messages from leaf factor nodes initialized to factors
- Messages from leaf variable nodes set to unity
- Step 1: Propagate messages from leaves to root
- Step 2: Propagate messages from root to leaves