Imagine you are trying to figure out whether it rained last night. You check the grass (wet), the car (dry, under a cover), and a neighbor's yard (also wet). Each piece of evidence is weak on its own, but together they point somewhere. Now scale that to thousands of interacting variables — a noisy radio channel, a medical diagnosis, a photo you want to sharpen. How do you combine all those weak hints into a single coherent answer?
Belief propagation (BP) is the algorithm that does it. First described by Judea Pearl in 1982 and formalized as the sum-product algorithm in the 1990s, it works on a graph: each node holds a probability distribution over its possible states, and nodes exchange short messages with their neighbors. A message from node A to node B says, in effect, "taking into account everything I know except you, here is what I believe you should believe about yourself."
After a few rounds of message passing, every node multiplies together all the messages it receives and reads off its marginal probability — how likely each of its states is, given all the evidence in the graph. On a tree (a graph with no cycles), this process is provably exact and terminates in a number of steps equal to the diameter of the tree. On a graph with cycles — called a loopy graph — running the same messages anyway gives loopy belief propagation, which has no convergence guarantee but works spectacularly well in practice, powering the best error-correcting codes ever built.
Comments
Loading comments...