Parameters
- factors: Factor[]
- evidence: Evidence
- options: { damping?: number; maxIter?: number; seed?: number; tolerance?: number } = {}
Returns {
converged: boolean;
iterations: number;
posteriors: Map<string, Map<number, number>>;
}
posteriors for each non-evidence variable, convergence status, iteration count
Loopy Belief Propagation — iterative message passing for graphs with cycles.
Unlike Junction Tree (which requires triangulation), LBP works directly on the factor graph. Messages are passed iteratively between variable nodes and factor nodes until convergence or max iterations.