This class implements standard IPFP algorithm.
Also see class IPFPOneR.
Q(X): A joint distribution of random variables in X.
{R(Si)}: A set of constraints to be satisfied and each Si is a non-empty subset of X.
(1) Q_k(X) = 0 if Q_k-1(Si) = 0
(2) Q_k(X) = Q_k-1(X) * R(Si) / Q_k-1(Si) if Q_k-1(Si) > 0
Assume Q(X), {R(Si)} are valid distributions, complete and consistent.
This class implements standard IPFP algorithm for only one constraint.
Q(X): A joint distribution of random variables in X.
R(Si): A constraint to be satisfied, where Si is a non-empty subset of X.
(1) Q_k(X) = 0 if Q_k-1(Si) = 0
(2) Q_k(X) = Q_k-1(X) * R(Si) / Q_k-1(Si) if Q_k-1(Si) > 0
Assume Q(X), R(Si) are valid distributions, complete and consistent.