A max_table is just like a table (discrete potential), except we replace the sum operator with max. This is used to compute the most probable assignment (c.f. Viterbi path in an HMM).