1. A system for decoding an encoded data message, the system comprising: a processor; an interface coupled to the processor and configured to receive the encoded data message; and a data store coupled to the processor and storing a nand Markov random field (NMRF) network representing the value of output configurations conditioned on the encoded data message, the data store further storing a procedure for deriving at least one a posteriori estimation from the encoded data message, and the data store further storing a procedure for outputting a decoded data message based on the at least one a posteriori estimation.