8. Sum-Product Message Passing
Initialize all messages to 1
Until Convergence:
For each variable, Yi:
For each F in Neighborhood(Yi):
For each v in Dom(Yi):
For each factor, F:
For each Yi in Neighborhood(F):
For each v in Dom(Yi):
9. Sum-Product Message Passing
Initialize all messages to 1
Until Convergence:
For each variable, Yi:
For each F in Neighborhood(Yi):
For each v in Dom(Yi):
For each factor, F:
For each Yi in Neighborhood(F):
For each v in Dom(Yi):
10. Sum-Product Message Passing
Initialize all messages to 1
Until Convergence:
For each variable, Yi:
For each F in Neighborhood(Yi):
For each v in Dom(Yi):
For each factor, F:
For each Yi in Neighborhood(F):
For each v in Dom(Yi):
11. Sum-Product Message Passing
Initialize all messages to 1
Until Convergence:
For each variable, Yi:
For each F in Neighborhood(Yi):
For each v in Dom(Yi):
For each factor, F:
For each Yi in Neighborhood(F):
For each v in Dom(Yi):
14. Sum-Product Message Passing
- If it converges, we get:
- For tree structured graphs, it is guaranteed to converge
and the marginals will be exact.
- For loopy graphs, it may not converge, and if it
converges, the marginals may not be correct.
- With some tricks, it tends to work very well in
practice.